jmeter聚合报告详解

聚合报告(aggregate report)

对于每个请求,它统计响应信息并提供请求数,平均值,最大,最小值,错误率,大约吞吐量(以请求数/秒为单位)和以kb/秒为单位的吞吐量.

 

吞吐量是以取样目标点的视角来统计的(例如:HTTP请求样例中设置的远程服务器). JMeter会把已生成请求的总响应时间考虑在内,所以,如果相同线程组中有其它取样器或定时器,将增加总时间,进而减少吞吐量的值。因此,两个仅名称不同的取样器,其吞吐量为该两个取样器吞吐量总和的一半。正确的选择取样器名字对于重聚合报告中获取最佳的结果来说很重要。

 

个人理解:不管是否有其它取样器还是定时器,这里主要是基于时间和请求数的计算,吞吐量= 请求数/总时间,拿定时器来说,它具有线程延迟功能,不增加请求数的情况下,增大总时间,自然吞吐量就减少了。

 

这笔者做了个实验,每次运行一次,每次手动运行,且每次运行前不清空结果,运行测试,查看聚合报告显示。因为手动运行,每两次运行期间,都有空闲期,在这段空闲期有时候还比较长,几分钟到几十分钟不等。

 

结果发现,聚合报告是累加的,即每次运行的结果统计都是基于前一次运行的结果进行统计,包括发起的请求样本数等都是叠加的,比如我11:00运行一次,发起10个请求,11:20运行一次,发起10个请求,这时聚合报告显示请求数为20个,而此时的吞吐量和第一次运行相差甚远,个人猜测它把11:00到11:20期间非运行状态的时间也算进去了。所以,总时间大大增加。

 

不勾选“标签中不包含名称(include group name in label)”复选框

 

注意:使用聚合报告时,测试计划中不要用相同的的请求取样器名称

 

 

Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值

#Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100

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

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

90% Line:90% 用户的响应时间

Note:关于 50% 和 90% 并发用户数的含义,请参考下文

http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html

Min:最小响应时间

Max:最大响应时间

Error%:本次测试中出现错误的请求的数量/请求的总数

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

KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

转载于:https://www.cnblogs.com/insane-Mr-Li/p/10130282.html

### JMeter 聁合报告的生成与解读 #### 生成聚合报告 JMeter聚合报告可以通过以下两种方式生成: 1. **实时生成聚合报告** 在运行测试计划时,如果启用了监听器中的“聚合报告”,则可以在测试过程中实时查看结果。需要确保在测试计划中添加了“聚合报告”监听器,并且配置了正确的请求取样器名称[^4]。 2. **根据 `.jtl` 文件生成聚合报告** 测试完成后,可以使用 JMeter 提供的命令行工具生成 HTML 报告,其中包括聚合报告的内容。以下是生成 HTML 报告的命令示例: ```bash jmeter -n -t E:\...\examples\test\test.jmx -l result.jtl -e -o E:\...\examples\report ``` 参数说明: - `-n`: 非 GUI 模式执行 JMeter。 - `-t`: 指定测试计划文件的位置。 - `-l`: 指定生成的测试结果保存文件(`.jtl` 格式)。 - `-e`: 测试结束后生成测试报告。 - `-o`: 指定测试报告的存放位置[^1]。 #### 解读聚合报告 聚合报告中的每一行代表一个请求,同名的请求会被合并并显示为一行。以下是聚合报告中常见列的含义及统计方法[^2]: 1. **Label** 请求的名称或标签。如果多个请求具有相同的名称,则它们的结果会被合并。 2. **# Samples** 表示该请求被发送的总次数。注意,聚合报告是累加的,即每次运行的结果都会基于前一次运行的结果进行叠加[^4]。 3. **Average (平均响应时间)** 所有样本的平均响应时间,单位为毫秒。计算公式为: ```plaintext 平均响应时间 = 总响应时间 / 样本数 ``` 4. **Median (中位数响应时间)** 响应时间的中位数,即将所有样本按响应时间排序后位于中间位置的时间值。 5. **90% Line (90% 响应时间)** 表示 90% 的样本响应时间小于或等于该值。 6. **Min (最小响应时间)** 所有样本中的最小响应时间。 7. **Max (最大响应时间)** 所有样本中的最大响应时间。 8. **Error % (错误率)** 表示错误请求数占总请求数的比例,计算公式为: ```plaintext 错误率 = (错误请求数 / 总请求数) * 100% ``` 9. **Throughput (吞吐量)** 每秒完成的请求数或每分钟传输的数据量(以字节为单位)。计算公式为: ```plaintext 吞吐量 = (总数据大小 / 总时间) 或 (样本数 / 总时间) ``` 10. **KB/sec (每秒传输的数据量)** 表示每秒传输的数据量,单位为 KB。 #### 注意事项 - 确保测试计划中不要使用相同的请求取样器名称,否则会导致结果混淆。 - 聚合报告的底层实现依赖于 `SamplingStatCalculator` 类的不同方法来统计每一列信息。 - 如果需要一键生成测试报告,可以创建一个 `.bat` 脚本来简化操作[^3]。 ```python @echo off echo start jmeter jmeter -n -t E:\...\examples\test\test.jmx -l result.jtl -e -o E:\...\examples\report ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值