TPS的几种计算方式

本文详细探讨了性能测试中TPS(每秒处理事务数)的计算方式,通过举例说明了并发用户数、响应时间和TPS之间的关系。指出在不同并发情况下,TPS和响应时间可能会如何变化。还提到了性能测试中吞吐量、响应时间和其他关键性能指标的定义和计算方法,强调了理解这些概念对优化系统性能的重要性。
摘要由CSDN通过智能技术生成

例子:一个高速路有10个入口,每个入口每秒钟只能进1辆车

1、请问1秒钟最多能进几辆车?

   TPS=10

2、每辆车需要多长时间进行响应?

   reponse time = 1

3、改成20辆车,每秒能进几辆?每辆车的响应时间是多长?

   TPS = 10,reponse time = 1  (10个为一等份,分成两等份,平均tps (10/1+10/2)/2=7.5 平均响应时间(2+1)/2=1.5

前1-10辆可以直接进入,响应时间为1s。但11-20辆必须等待1s(每个入口每秒钟只能进1辆车),加上自己进入的1s,响应时间为2s。tps=事务数/响应时间,即10/1+10/2=总响应时间,所以平均tps=(10/1+10/2)/2

4、入口扩展到20个,每秒能进几辆?每辆车的响应时间是多长?

   TPS = 20,reponse time = 1

5、看看,现在TPS变了,响应时间没变,TPS和响应时间有关系吗?

  木有关系

6、如何理解?

  TPS和响应时间在理想状态下都是额定值(联想运行一个压力测试场景来考虑),把入口看成线程池,如果有20个入口,并发数只有10的时候,TPS就是10,而响应时间始终是1,说明并发数不够,需要增加并发数达到TPS的峰值。

7、同样是20个入口,如果并发数变成100的话,TPS和响应时间会怎么样呢?

  并发数到100的时候,就会出现堵车,堵车了平均每个车过去的时间就长了,把100个车按照20一份分成5份,第5份的等待时间就是最长的,从等待开始到这个车进去,实际花费了5秒,那100辆车都过去的响应时间就是(5+4+3+2+1)/5=3,平均的TPS就是(20/1+20/2+20/3+20/4+20/5)/5=9.13(我怎么感觉应该是100/(5+4+3+2+1)=6.67 完成的事务总数/完成事务数的时间,使用该方法计算出来的tps会稍微小些,可以乘以1.5倍作为当前tps)

8、由此可知,TPS和响应时间宏观上是倒数关系,但是两者实际上木有直接的关系的,在上例中,系统只存在20个线程,100的并发就会造成线程的等待,引起平均响应时间从1秒增加到3秒,TPS从20下降到9,TPS和响应时间都是单独计算出来的,并不是互相算出来的!

 

9、同样可知,在并发量保持不变的情况下,提高TPS的手段有几种?

  A、增加线程池的数量(入口)B、降低每辆车入关的时间(也就是提高单个线程的处理效率)

 

10、从TPS和response time的定义查看这2者的区别?

  TPS = 在场景或者灰化步骤运行的每一秒钟中,每个事务通过、失败以及停止的次数

  也就是说,TPS = 总的通过、失败的事务总数/整个场景的运行时间;

  reponse time = 每个事务完成实际需要的时间/事务处理数目

  因此,这2个东西压根就是木有关系的!

 ------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值