Jmeter的聚合报告参数解析

Jmeter的聚合报告参数解析。

详细说明及公式详见官方地址:http://jmeter.apache.org/usermanual/glossary.html#Throughput

Throughput is calculated as requests/unit of time. The time is calculated from the start of the first sample to the end of the last sample. This includes any intervals between samples, as it is supposed to represent the load on the server.
The formula is: Throughput = (number of requests) / (total time).

Throughput = (number of requests) / (total time)
total time = 请求测试结束时间 - 请求测试开始时间
请求测试结束时间 = MAX(请求开始时间timeStamp + Elapsed Time)
请求测试开始时间 = MIN(请求开始时间timeStamp)

若没有选中 "Successes" 时,其 Throughput 是包含出错的请求的 Throughput。
若选中 "Successes" 时,Throughput 仅是所有正确的请求的 Throughput。

PS:
设置 Thread Group->Add->Listener->Simple Data Writer 就可以生成报告文件,默认情况下就包括“请求开始时间”和“Elapsed Time ”信息。

 

聚合报告说明:

Label    标签,即我们上面的请求名称

#Samples 总线程数,值 = 线程数 * 循环次数(表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100)

Average  平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间

Median   中位数,也就是50%的用户的响应时间

90%Line   表示90%的用户的响应时间
95%Line   表示95%的用户的响应时间
(分别代表50%的用户响应时间、90%的用户响应时间、95%的用户响应时间、99%的用户响应时间,也就是有百分之多少的请求小于这个值。其中,90%line是性能测试中比较重要的一个衡量指标。)

Min      最小响应时间

Max      最大响应时间

Error%    出错率,本次测试中出现错误的请求的数量/请求的总数
(错误率,发生错误的请求 / 总请求数,下面示例中错误率为0,例如:1/50 =0.02)

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

[吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数]

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

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

KB/Sec 相当于LoadRunner中的Throughput/Sec 

备注:

1.无特别说明,以上时间的单位均为ms

2.请求响应时间指的是从client端发出请求到得到响应的整个时间

Jmeter的聚合报告参数解析_第1张图片

在执行脚本前,需要设置聚合报告写入一个csv文件,运行结果会自动保存到该文件。导出的csv测试结果文件。

Jmeter的聚合报告参数解析_第2张图片

Throughput:吞吐量,表示每秒完成的请求数。根据”csv测试结果文件“看看是怎么计算的?

Jmeter的聚合报告参数解析_第3张图片

Throughput的计算:

         线程持续运行的时间=“最后1个线程的启动时间”+ "最后1个线程执行时间” - ”第1个线程的启动时间“= ?毫秒 =?s

         Throughput= "总线程数" / "线程持续运行的时间" = ?/sec

例子:

1、login请求的Throughput是这么计算的:
      线程持续运行的时间=最后1个线程的启动时间1567407088754 + 最后1个线程执行时间5 -第1个线程的启动时间1567407087599= 1160毫秒 = 1.16s

     Throughput=总线程数50 / 线程持续运行的时间1.16s = 43.103/sec
                            ==>也就是login的吞吐量是每秒43.10个请求

2、logout请求的Throughput是这么计算的:
       线程持续运行的时间=最后1个logout请求的线程的启动时间1567407088801 + 最后1个执行时间6 -第1个logout请求的线程的启动时间1567407087669= 1138毫秒 = 1.138s

      Throughput=总线程数50 / 线程持续运行的时间1.138s =43.9367 /sec
          ==>也就是logout的吞吐量是每秒43.9367个请求

3、总体吞吐量是对所有请求中的第一个、最后一个请求启动时间==请求的总运行时间来计算的,而不是简单的对各个请求吞吐量相加求平均值。总体吞吐量:150/总体请求数执行总时间1.208=124.172/sec

4、脚本的总体运行总时间:是对最后1个线程启动时间+运行时长-第1个线程启动时间来计算的。例如:1567407088801+6-1567407087599=1208毫秒=1.208s

5、错误率:发生错误的请求 / 总请求数,上面示例中错误率为0,例如:1/50 =0.02)

 

Sent KB/sec计算:

        线程持续运行的时间=“最后1个线程的启动时间”+ "最后1个线程执行时间” - ”第1个线程的启动时间“= ?毫秒 =?s

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

例子:

        1、Login请求的Sent KB/sec计算方式

       线程持续运行的时间=最后1个线程的启动时间1567407088754 + 最后1个线程执行时间5 -第1个线程的启动时间1567407087599= 1160毫秒 = 1.16s

       Sent KB/sec=所有login请求的sentBytes总和 16830 Bytes/1024/1.16s=14.17 KB/sec

        2、Logout请求的Sent KB/sec计算方式

       线程持续运行的时间=最后1个logout请求的线程的启动时间1567407088801 + 最后1个执行时间6 -第1个logout请求的线程的启动时间1567407087669= 1138毫秒 = 1.138s

       Sent KB/sec=所有logout请求的sentBytes总和 24495/1024/1.138s=21.02 KB/sec

备注:      

      存储的最小单位是字节Byte,对于存储单位,有以下几个单位,GB、MB和KB,那么这三者之间的换算关系是:1GB=1024MB,1MB=1024KB,1KB=1024Bytes。
Bit :“位”,称为bit,也就是比特,有的时候也称为位。一个字节为8位二进制表示。
Byte:“字节”,一个字节就是8比特。

 

Received KB/sec计算(同Sent KB/sec):

        线程持续运行的时间=“最后1个线程的启动时间”+ "最后1个线程执行时间” - ”第1个线程的启动时间“= ?毫秒 =?s

        Received KB/sec=所有的相同请求的bytes总和 / 1024 / 线程持续运行的时间

Average  平均响应时间

        单个请求的平均响应时间 = 请求数的运行时间elapsed之和 / 发送到服务器的总请求数

其他例子:

Jmeter的聚合报告参数解析_第4张图片

Login请求:
执行时间:1567497679716+4-1567497678580=1140

Throughput=50/1.140=43.859约等于43.9
Sent KB/sec 16830/1024=16.435546875/1.14=14.417约等于14.42
Received KB/sec 16170/1024 =15.791015625/1.14=13.8517约等于13.85


Logout请求:
执行时间:1567497679772+5-1567497678650=1127

Throughput=44.365约等于44.4
Sent KB/sec 24500/1024/1.127=21.2296约等于21.23
Received KB/sec 208100/1024/1.127=180.3217约等于180.32

直接搜索请求:
执行时间:1567497679721+51-1567497678591=1181

Throughput=50/1.181=42.337约等于42.3
Sent KB/sec 31200/1024=30.46875/1.181=25.7991约等于25.80
Received KB/sec 1288700/1024=1258.49609375/1.181=1065.6190约等于1065.62

Average  平均响应时间

        单个请求的平均响应时间 = 请求数的运行时间之和 / 发送到服务器的总请求数

        login请求的响应时间=所有login请求响应时间elapsed之和200/50=4

        

 

参考:https://www.cnblogs.com/jiu0821/p/5999297.html

https://www.iteye.com/blog/josh-persistence-2164035

 

你可能感兴趣的:(Jmeter)