一、jmeter命令
-n:说明jmeter非GUI运行
-t:运行的测试计划名称,xxx.jmx路径+文件 (运行jmx文件)
-l:JTL文件去保存结果,路径+xxx.jtl(存测试报告)
-e:在脚本运行结束后生成html报告
-r: 使用远程执行
-j:保存执行log
-g:测试结果文件路径。通过jtl文件生成测试报告
-o:测试报表文件夹。必须为不存在或空
-H:代理机主机名或者ip地址
-P:代理机端口
二、启动jmeter开始测试,并输出测试报告
(1)如果在本地执行jmeter脚本
jmeter -n -t D:\code\jmeter\练习命令行.jmx -l D:\code\jmeter\demo1.jtl
(2)如果执行远程脚本
jmeter -n -t D:\code\jmeter\练习命令行.jmx -r -l D:\code\jmeter\demo_remote.jtl
(3)生成html测试报告
jmeter -g D:\code\jmeter\demo1.jtl -e -o D:\code\jmeter\log
三、html测试报告分析说明
1、Dashboard
T(Toleration threshold):可接受(容忍或满意)阈值,即用户可接受的响应时间
F(Frustration threshold):不可接受(失败)阈值,即用户不可接受响应时间
label:采样器名称
Label:Sample采样器名称
Samples:总共发送请求数(线程数 * 循环次数)
FAIL:失败次数
Error%:请求失败率
Average:平均响应时间
Min:最小响应时间
Max:最大响应时间
median:中等响应时间
90%Line:90%线,90%用户响应时间
95%Line:95%线,95%用户响应时间
99%Line:99%线,99%用户响应时间
Throughput:吞吐量,一般情况下可看做每秒完成请求数(和QPS类似)
Received:每秒从服务器端接收到的数据量
Sent:每秒从客户端发送的请求的数量
2、over time
(1)response times over time 响应时间变化趋势
Response Times Over Time,即响应时间随时间变化趋势。由于应用需要初始化建立连接以及CPU、内存等分配都会消耗资源,随着系统趋于稳定,响应时间也会趋于稳定。所以上面的图一定是一个不正常的图
(2)Response Time Percentiles Over Time (successful responses) 成功响应时间百分比
类似于jmeter聚合报告中的Min、Max、90%、95%、99%
随着时间变化,每个时间节点上的活动线程数
活跃线程变化趋势,即并发用户数趋势。相当于我们模拟的并发用户发出请求随着时间变化的趋势。
(4)Bytes Throughput Over Time(字节吞吐量时间变化曲线图)
蓝色为每秒发送字节数,黄色为每秒接收字节数
(5)Latencies Over Time(延迟时间曲线图)
记录的是客户端发送请求完成后,服务器端返回请求之前的这段时间,在高并发场景或者业务强数据一致性场景,延时是个很严重的影响因素
(6)Connect Time Over Time(连接时间变化曲线图)
其他图表可参见html报告解析