性能测试行业常用的性能指标表示法

压力工具中的线程数和用户数与 TPS

多人都没有明白压力工具中的线程数和用户以及 TPS 之间是怎样的关系。同样,我们先画一个示意图来说明一下。

这里先说明一个前提,上面的一个框中有四个箭头,每个都代表着相同的事务。在说这个图之前,我们要先说明“并发”这个概念是靠什么数据来承载的。在上面的内容中,我们说了好多的指标,但并发是需要具体的指标来承载的。你可以说,我的并发是 1000TPS,或者 1000RPS,或者 1000HPS,这都随便你去定义。但是在一个具体的项目中,当你说到并发 1000 这样没有单位的词时,一定要让大家都能理解这是什么。在上面这张示意图中,其实压力工具是 4 个并发线程,由于每个线程都可以在一秒内完成 4 个事务,所以总的 TPS 是 16。这非常容易理解吧。而在大部分非技术人的脑子里,这样的场景就是并发数是 4,而不是 16。要想解释清楚这个非常困难,我的做法就是,直接告诉别人并发是 16 就好了,不用关心 4 个线程这件事。这在我所有项目中几乎都是一样的,一直也没有什么误解。

户数、线程数和 TPS 之间的关系

那么用户数怎么来定义呢?涉及到用户就会比较麻烦一点。因为用户有了业务含义,所以有些人认为一个系统如果有 1 万个用户在线,那就应该测试 1 万的并发线程,这种逻辑实在是不技术。通常,我们会对在线的用户做并发度的分析,在很多业务中,并发度都会低于 5%,甚至低于 1%。拿 5% 来计算,就是 10000 用户 x5%=500(TPS),注意哦,这里是 TPS,而不是并发线程数。如果这时响应时间是 100ms,那显然并发线程数是 500TPS/(1000ms/100ms)=50(并发线程)【每秒500个事务X0.1秒=0.1秒内的用户数】}。通过这样简单的计算逻辑,我们就可以看出来用户数、线程数和 TPS 之间的关系了

如果这时响应时间是 100ms,那显然并发线程数是 500TPS/(1000ms/100ms)=50(并发线程)。

解答:

对一个事务来说,如果响应时间是100ms,那这个在一秒内事务数不就是:1000ms/100ms = 10tps了吗?
如果要达到500TPS,那需要多少线程呢?就是500TPS/10TPS=50线程

也可以这样理解:

500tps*(100ms/1000ms),100ms转换成0.1秒,500tps=每秒500个事务数  0.1秒=50个事务

但是!响应时间肯定不会一直都是 100ms 的嘛。所以通常情况下,上面的这个比例都不会固定,而是随着并发线程数的增加,会出现趋势上的关系。所以,在性能分析中,我一直在强调着一个词:趋势!

响应时间的 258 原则合理吗?

对于响应时间,有很多人还在说着 258 或 2510 响应时间是业内的通用标准。然后我问他们这个标准的出处在哪里?谁写的?背景是什么?几乎没有人知道。真是不能想像,一个谁都不知道出处的原则居然会有那么大的传播范围,就像谣言一样,出来之后,再也找不到源头。其实这是在 80 年代的时候,英国一家 IT 媒体对音乐缓冲服务做的一次调查。在那个年代,得到的结果是,2 秒客户满意度不错;5 秒满意度就下降了,但还有利润;8 秒时,就没有利润了。于是他们就把这个统计数据公布了出来,这样就出现了 258 principle,翻译成中文之后,它就像一个万年不变的定理,深深影响着很多人。距离这个统计结果的出现,已经过去快 40 年了,IT 发展的都能上天了,这个时间现在已经完全不适用了。所以,以后出去别再提 258/2510 响应时间原则这样的话了,太不专业。那么响应时间如何设计比较合理呢?这里有两种思路推荐给你。同行业的对比数据。找到使用系统的样本用户(越多越好),对他们做统计,将结果拿出来,就是最有效的响应时间的制定标准。

总结:

性能测试概念中:性能指标、性能模型、性能场景、性能监控、性能实施、性能报告。

性能场景中:基准场景、容量场景、稳定性场景、异常场景。

性能指标中:TPS、RT。 (记住 T 的定义是根据不同的目标来的)

如何理解TPS、QPS、RT、吞吐量这些性能指标相关推荐

  1. 性能测试TPS/QPS/RT理解

    1.TPS:Transactions Per Second(每秒传输的事物处理个数) 即服务器每秒处理的事务数 .TPS包括一条消息入和一条消息出,加上一次用户数据库访问.(业务TPS = CAPS ...

  2. 怎么理解TPS、QPS、RT、吞吐量这些性能指标?

    通常我们都从两个层面定义性能场景的需求指标:业务指标和技术指标. 这两个层面需要有映射关系,技术指标不能脱离业务指标.一旦脱离,你会发现你能回答"一个系统在多少响应时间之下能支持多少 TPS ...

  3. QPS、TPS、RT、并发数、吞吐量理解和性能优化深入思考

    吞吐量 在了解qps.tps.rt.并发数之前,首先我们应该明确一个系统的吞吐量到底代表什么含义,一般来说,系统吞吐量指的是系统的抗压.负载能力,代表一个系统每秒钟能承受的最大用户访问量. 一个系统的 ...

  4. QPS、TPS、RT、并发用户数、吞吐量

    文章目录 QPS TPS 并发数 吐吞量 RT 计算1:QPS.RT.并发数计算 PV UV DAU MAU 计算2:峰值QPS和机器计算 QPS QPS Queries Per Second 是每秒 ...

  5. 高并发中 QPS、TPS、RT、Load、PV、UV都是什么意思!

    目录 一.概述 二.指标 1.QPS(Queries Per Second) 2.TPS (Transactions Per Second) 2.RT(Res(onse Time) 3.并发数 4.吞 ...

  6. 压力测试和负载测试的区别/性能指标/专项测试/(tps/qps)

    压力测试和负载测试的区别/性能指标/专项测试/(tps/qps) 1. 负载测试是从并发量维度出发,不断增加并发量发情况下,系统的性能指标 压力测试是从访问时间的维度出发,在并发量一定的情况下不断增加 ...

  7. MySQL性能指标TPS+QPS+IOPS压测

    1.前言 今天主要介绍MySQL数据库,或者说所有数据库的三个关键性能指标TPS\QPS\IOPS 2.性能指标概览 QPS(Queries Per Second): 就是每秒的查询数,对数据库而言就 ...

  8. TPS、QPS、吞吐量,如何计算

    1.TPS TPS (transaction per second)代表每秒执行的事务数量,可基于测试周期内完成的事务数量计算得出. TPS=事务数/时间(秒) 例如: 用户每分钟执行6个事务,TPS ...

  9. 26丨案例:手把手带你理解TPS趋势分析*

    在性能分析中,前端的性能工具,我们只需要关注几条曲线就够了:TPS.响应时间和错误率.这是我经常强调的. 但是关注 TPS 到底应该关注什么内容,如何判断趋势,判断了趋势之后,又该如何做出调整,调整之 ...

  10. mysql qps计算方法_mysql计算 TPS,QPS 的方式

    在做db基准测试的时候,qps,tps 是衡量数据库性能的关键指标.本文比较了网上的两种计算方式.先来了解一下相关概念. 概念介绍: QPS:Queries Per Second         查询 ...

最新文章

  1. 学精算的计算机知识,精算学专业学什么 附学习科目和课程
  2. QIIME 2用户文档. 15样品分类和回归q2-sample-classifier(2019.7)
  3. KVO 从基本使用到原理剖析
  4. virtualbox+vagrant学习-2(command cli)-20-vagrant suspend命令
  5. mac 安装 python 配置||虚拟环境
  6. CentOS 6.X安装LAMP最高版本环境
  7. JavaScript 学习提升
  8. 使用指针星号转移c语言,C中的指针:何时使用号和星号?
  9. NO.34 关于禅道加密
  10. WSL2 即将普遍可用,Linux 内核提供方式改变
  11. Angular2 管道
  12. 华为设备ERPS配置命令
  13. 景区门票分销系统解决方案
  14. 更改AVD安卓模拟器默认存储位置
  15. 如何利用ipad高效学习python
  16. 单细胞拟时分析:基因及通路随拟时表达变化趋势
  17. Angular Material 学习笔记 Chips
  18. E-Lin通用微服务平台介绍及性能比较
  19. GPRS联网过程简介
  20. 火山小视频服务器维护中,火山小视频整改时间多久 火山小视频整改哪些方面...

热门文章

  1. 浙江高院:引导当事人用区块链存取证据,微版权提供一站式知识产权保护服务
  2. nohup与前台后台操作
  3. 中国数据开放共享的“道”与“术”
  4. 0055-在OpenCV环境下合成高动态范围图像(HDR)
  5. centos7系统时间校对(和北京时间同步)
  6. WPS文字无法创建对象,请确认对象已在系统注册表注册的问题
  7. gif制作软件 ScreenToGif
  8. 【学习笔记】山东大学生物信息学-08 编程基础与网页制作
  9. fan4801开关电源原理图_开关电源各模块原理实图讲解
  10. 34个非常实用的JS一行代码