jmeter聚合报告的Throughput、Received KB/sec、Sent KB/sec、平均响应时间的算法分析

Jmeter聚合报告:

#samples:总请求数(samples样本个数)(number of requests)

Throughput   吞吐量(Request/Sec)  每秒多少请求

                        在jmeter中,大多数情况(未有错误时)下,Throughput吞吐率被认为等于TPS

Average  平均响应时间

Received KB/sec :每秒从服务器端接收到的数据量(每秒发送多少字节 )

Sent KB/sec :每秒向服务器发送数据量(每秒发送多少字节 )

其他:

thread:请求并发数

total time:请求持续执行的时间(实际持续时间可能大于填写持续时间)

total time = 请求测试结束时间 - 请求测试开始时间

(最后一个线程启动的时间+最后一个线程持续的时间-第一个线程启动的时间)

请求测试结束时间 = MAX(最后1个请求启动时间timeStamp + Elapsed Time)
请求测试开始时间 = MIN(第1个请求启动时间timeStamp)

计算:

Throughput=(#sample样本数)/(最后一个线程启动的时间+最后一个线程持续的时间-第一个线程启动的时间)
                    =(number of requests)/total time=Jmeter(#Samples)/total time

Average=所有请求的响应时间之和/总请求数= Jmeter sum(elapsed)/#Samples

(所有sample样本响应时间总和/Samples样本个数)

Received KB/sec=所有的相同请求的bytes总和 / 1024 / 请求持续运行的时间=sum(bytes)/1024/total time

Sent KB/sec =所有的相同请求的sentBytes总和 / 1024 / 线程持续运行的时间=sum(sentBytes)/1024/total time

===================

Throughput (TPS)=Jmeter(#Samples)/total time

Average= Jmeter sum(elapsed)/#Samples

解释:

TPS:每秒处理的事务数,jmeter的Throughput为吞吐率(请求数/秒),在加了事务控制器后,TPS=Throughput

宏观上:TPS=并发数/响应时间,jmeter的Throughput = (number of requests) / (total time) ,即

Throughput =(sample样本数)/(最后一个线程启动的时间+最后一个线程持续的时间-第一个线程启动的时间)

可以这样理解这个公式:绝对的并发是不存在的,请求发出的时间总有先后,绝对的TPS也是无法计算的,统计的角度看,服务器处理请求总数/花费的时间即是TPS,这也是

为什么需要不断增大用户数来寻找服务器的最大TPS的原因

参考:https://www.cnblogs.com/xianlai-huang/p/7795215.html

发布了104 篇原创文章 · 获赞 5 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/fen_fen/article/details/100577970
sec