前言
压测的时候,我们会经常关注2个重要的指标 TPS 和 RT
- TPS 每秒处理的事务数(Transactions per Second),jmeter的Throughput为吞吐量(请求数/秒)
- RT 响应时间(Reponse Time),从发起请求到完全接收到应答的时间消耗。
每秒处理的事务数(Transactions per Second)
前面介绍了监听器每秒事务数(Transactions per Second),可以查看前面的这篇https://www.cnblogs.com/yoyoketang/p/14181902.html
先了解下什么是TPS ?
TPS:每秒处理的事务数,jmeter的Throughput为吞吐率(请求数/秒)
宏观上:TPS=并发数/响应时间,jmeter的Throughput = (number of requests) / (total time)
很多小伙伴会死记硬背公式来推算TPS值,这里涉及到一个概念并发数,这个并发数是指单位时间内发出去的请求数。
这里的单位时间并不是1秒,是一个绝对的同一时间,比如0.0001秒,甚至更小的时间。
那么这里的绝对并发,我们是没法知道的,我们通常说的并发是一个相对的并发,相对并发,也就是我们线程组里面设置的(线程数)虚拟用户数,可以这么理解。
我们可以根据聚合报告看到,平均响应时间是94毫秒,吞吐量27.9/sec
通过上面的公式 tps = 线程数3/平均响应时间0.094秒 ,算出的结果是31.9,跟统计的27.9差不多。
也可以这样理解这个公式,绝对的并发是不存在的,请求发出的时间总有先后,绝对的TPS也是无法计算的,统计的角度看
TPS = 服务器处理请求总数/花费的总时间
我们设置线程组的持续压测时间为5秒,设置线程数3,于是压测的结果TPS值是27.5
根据公式TPS = 总请求数139/总时长5秒,得到的结果是27.8,这样就很接近报告的TPS值了
为了找到服务器的最大TPS值,我们一般设置不同的并发数(线程组)来压测。
响应时间(Reponse Time)
RT 也就是平均响应时间(Reponse Time), 在聚合报告里面可以看平均值(单位是毫秒),如果我们想查看更详细的报告,跟着每个时间段的平均响应时间。
添加-监听器-jp@gc - Response Times Over Time
压测后,先看聚合报告的平均值92毫秒
再看实时监控的平均响应时间
这种曲线图,在写性能报告的时候加上会显示更专业
原文地址https://www.cnblogs.com/yoyoketang/tag/jmeter/,转载请注明出处!