JMeter聚合报告(Aggregate Report)是性能测试中常用的工具,用于汇总和分析测试结果。它提供了多种关键指标,帮助测试人员理解系统在负载下的表现。以下是一些常见的指标及其解释:
-
Label(标签):表示每个请求的名称或标签。可以是HTTP请求、JDBC请求等。
-
# Samples(样本数):表示每个请求的执行次数。这是测试中收集到的样本总数。
-
Average(平均值):每个请求的平均响应时间。单位通常是毫秒(ms)。这是所有样本响应时间的平均值。
-
Median(中位数):中位数响应时间,即50%的请求响应时间小于这个值,50%的请求响应时间大于这个值。中位数比平均值更能反映典型响应时间,因为它不受极端值的影响。
-
90% Line(90%线):90%的请求响应时间小于这个值,10%的请求响应时间大于这个值。这个指标帮助识别长尾效应和响应时间分布。
-
Min(最小值):最小响应时间,即所有样本中最快的响应时间。
-
Max(最大值):最大响应时间,即所有样本中最慢的响应时间。
-
Error %(错误百分比):请求失败的百分比。这个指标显示了多少请求在测试过程中失败。
-
Throughput(吞吐量):每分钟处理的请求数。这个指标反映了系统的处理能力。
-
Received KB/sec(每秒接收的KB):每秒钟从服务器接收到的数据量。这个指标显示了网络流量的输入。
-
Sent KB/sec(每秒发送的KB):每秒钟发送到服务器的数据量。这个指标显示了网络流量的输出。
分析方法
-
识别瓶颈:通过查看平均响应时间、90%线和最大响应时间,可以识别出系统在高负载下的瓶颈。
-
错误分析:高错误百分比可能表明系统在某些情况下无法处理请求,需进一步调查错误原因。
-
吞吐量和响应时间关系:通常,随着负载增加,吞吐量会增加,但在达到系统极限后,响应时间会显著增加。
-
比较不同场景:通过比较不同测试场景的聚合报告,可以评估不同配置或优化措施的效果。
-
监控趋势:在连续的测试中,监控这些指标的变化趋势,可以帮助识别系统性能的退化或改进。
示例
假设你有以下聚合报告数据:
Label | # Samples | Average (ms) | Median (ms) | 90% Line (ms) | Min (ms) | Max (ms) | Error % | Throughput (req/min) | Received KB/sec | Sent KB/sec |
---|---|---|---|---|---|---|---|---|---|---|
Login | 1000 | 500 | 450 | 800 | 100 | 1500 | 1% | 200 | 50 | 10 |
Search | 1000 | 300 | 250 | 600 | 50 | 1200 | 2% | 250 | 60 | 15 |
Checkout | 1000 | 800 | 750 | 1200 | 200 | 2000 | 5% | 150 | 70 | 20 |
- Login请求的平均响应时间为500ms,90%的请求响应时间小于800ms,错误率为1%,吞吐量为200 req/min。
- Search请求的平均响应时间为300ms,90%的请求响应时间小于600ms,错误率为2%,吞吐量为250 req/min。
- Checkout请求的平均响应时间为800ms,90%的请求响应时间小于1200ms,错误率为5%,吞吐量为150 req/min。
通过这些数据,你可以看到Checkout请求是最慢的,并且有较高的错误率,可能需要进一步优化。
通过对JMeter聚合报告的分析,可以深入了解系统在不同负载条件下的表现,并找到潜在的性能瓶颈和优化机会。