JMeter生成图形测试报告
JMeter生成测试报告
录制完测试脚本,保存为.jmx文件
在jmeter/bin下执行以下命令
jmeter -n -t <test JMX file> -l <test log file> -e -o <Path to output folder>
# -n:以非GUI形式运行Jmeter
# -t:source.jmx 脚本路径
# -l:result.jtl 运行结果保存路径(.jtl),此文件必须不存在
# -e:在脚本运行结束后生成html报告
# -o:用于存放html报告的目录
我的实例
jmeter -n -t D:\zly\sc_login.jmx -l login.jtl -e -o testResult
# 确保bin下无login.jtl和testResult,有的话手动删除
# 或者在bin下封装一个bat批处理文件,内容如下
echo off
del login.jtl
rd testResult /s/q
call jmeter -n -t D:\zly\sc_login.jmx -l login.jtl -e -o testResult
pause
# 运行此脚本可自动删除多余文件并自动生成报表
# 我的bat文件为 create_test_report_html.bat
在bin下的reportgenerator.properties中可以自定义配置
jmeter.reportgenerator.overall_granularity=1000
# (时间刻度)颗粒度配置ms,不能小于1000
# jmeter.reportgenerator.overall_granularity=60000
执行完毕后,用浏览器打开生成的文件目录下的index文件,效果展示如下:
测试报告分为两部分,Dashboard和Charts,下面分开解析。
1、Dashboard(概览仪表盘)
①、Test and Report informations
②、APDEX (应用性能指标)
③、Requests Summary
2、Charts(详细信息图表)
PS:由于详细信息图表有点多,这里我挑几个性能测试过程中比较关键的图表解析!
Over Time
①、Response Times Over Time(脚本运行期间的响应时间变化趋势图)
说明:可以根据响应时间和变化和TPS以及模拟的并发数变化,判断性能拐点的范围。
②、 Response Time Percentiles Over Time (successful responses)
说明:脚本运行期间成功的请求响应时间百分比分布图,可以理解为聚合报告里面不同%的数据,图形化展示的结果。
③、Bytes Throughput Over Time(脚本运行期间的吞吐量变化趋势图)
说明:在容量规划、可用性测试和大文件上传下载场景中,吞吐量是很重要的一个监控和分析指标。
④、 Latencies Over Time(脚本运行期间的响应延时变化趋势图)
说明:在高并发场景或者强业务强数据一致性场景,延时是个很严重的影响因素。
Throughput
①、Transactions Per Second(每秒事务数)
说明:每秒事务数,即TPS,是性能测试中很重要的一个指标,它是用来衡量系统处理能力的一个重要指标。
Response Times
①、 Response Time Percentiles(响应时间百分比分布曲线图)
说明:即响应时间在某个范围内的请求在所有请求数中所占的比率,相比于平均响应时间,这个值更适合用来衡量系统的稳定性。
②、Time Vs Threads(平均响应时间和线程数的对应变化曲线)
说明:可以通过这个对应的变化曲线来作为确定性能拐点的一个参考值。
坑:
jmeter.properties文件下的jmeter.save.saveservice.output_format需要改为csv
# legitimate values: xml, csv, db. Only xml and csv are currently supported.
jmeter.save.saveservice.output_format=csv
#jmeter.save.saveservice.output_format=xml