添加聚合压测报告
- 聚合报告:压测结果报告
- 展示请求与响应的性能参数
- 累计值压测数据值的展示
- 注意:建议连续压测,若中间有间断需要数据清零
在线程组下添加聚合报告-Aggregate Report(监听器)
指标解读:
Samples:总线程数,值 = 线程数 * 循环次数
Average:单个请求的平均响应时间
Median:中位数,50%用户的响应时间
90%Line:90%用户的响应时间
95%Line:95%用户的响应时间
99%Line:99%用户的响应时间
Min:最小的请求响应时间(毫秒)
Max:最大的请求响应时间
Error%:错误率(错误数/总数)
Throuphput:吞吐量(表示每秒完成的请求数)计算方法:吞吐量=(1000/平均值)*线程数
Received KB/sec:每秒从服务器端接收到的数据量
Sent KB/sec:每秒从客户端发送的请求数据量
测试结果分析
生成Aggregate Report 聚合报告,根据并发结果,查看总体性能数据变化,寻找性能瓶颈点。
注意:Jmeter所在服务器与运行环境有条件尽可能分开,防止占用资源。
- 验证能够支撑多大并发数,峰值数
设置线程数和循环次数。线程数为100,200,400,循环n次 - 验证错误率,定义可接受范围<=0.1%
并发和tps的关系–系统性能瓶颈
并发增加,tps是上升的,但是并发一直增加到一个临界值,tps就不会变大了,如果并发再大,就还是有error了,所以是一个先上升,然后不变,然后报错的关系。
静默压测:
命令格式:jmeter -n -t $jmx_file -l $jtl_file
例:jmeter -n -t baiduTEST.jmx -l result .jtl
jmx JMeter 压测程序脚本文件,压测控制过程记录在jmx文件中
jtl 文件是JMeter压测请求响应数据的原始文件,生成压测报告
./jmeter.sh -n -t test_http.jmx -l test_http.jtl
-n:不启用图形化界面
-t:指定测试计划,即脚本
-l:指定结果保存文件
不启动图形化界面修改测试计划:
LoopController.loops:循环次数,-1 代表永远
ThreadGroup.num_threads:线程数
弊端:自身服务器或Jmeter自身性能影响导致部分请求失败,脚本执行会卡住
好处:不需要在JMeterUI界面运行脚本,使用图形化界面,因为这个界面也会消耗一些资源的。用命令行直接执行,生成报告,可把报告导入jmeter进行查看分析。