【Performance】06.性能测试技术磨合篇之脚本执行和结果分析
1. 前言
在完成性能测试脚本的调试工作之后,就可以进入正式的性能测试脚本执行阶段了。JMeter脚本执行应使用CLI命令行的形式,同时应该禁用不需要的配置元件,避免GUI页面和部分配置元件影响性能测试结果。jmeter -n -t [jmx file] -l [results file] -j [log file] -e -o [Path to web report folder]
JMeter的命令格式以及常用的参数如下表所示,更多参数及含义可通过jmeter -?
命令查看。
参数名 | 含义 | 参数值示例 |
---|---|---|
-n |
以非GUI的形式启动运行 | / |
-t |
指定负载测试脚本的jmx文件路径 | D:\Test\PlanDemo.jmx |
-l |
指定负载测试脚本运行结果的jtl文件路径 | D:\Test\result.jtl |
-j |
指定JMeter运行日志的log文件路径 | D:\Test\jmeter.log |
-e |
表明负载测试结束后生成HTML报告 | / |
-o |
指定负载测试脚本运行生成的HTML报告文件夹路径,路径下非空时会报错,或加-f 参数强制清空 |
D:\Test\WebReport\ |
-s |
表明JMeter以服务节点的方式启动 | / |
-r |
表明JMeter以远程调用的方式启动,远程节点在jmeter.properties 中配置 |
remote_hosts=192.168.0.112,192.168.0.113 |
-R |
表明JMeter以远程调用的方式启动,并调用以下指定的远程节点,会覆盖jmeter.properties 中的配置 |
192.168.0.112,192.168.0.113 |
2. 脚本执行
JMeter支持本地和远程调用两种启动方式。
2.1. 本地执行
JMeter本地执行,只需打开命令行终端,按照入戏个事输入命令后回车,JMeter即可开始根据jmx脚本执行性能测试,执行完成后自动退出,并在指定的路径下生成对应的结果文件和HTML报告。jmeter -n -t [jmx file] -l [results file] -j [log file] -e -o [Path to web report folder]
2.2. 远程调用执行
- 从JMeter 4.0版本开始,默认的RMI传输机制会使用SSL,这需要密钥和证书才能够正常的工作。因此,在以远程调用的方式启动JMeter之前,需通过
create-rmi-keystore
脚本,生成jks文件,并拷贝到所有客户节点和服务节点的JMeter程序bin目录下。 - 各服务端的JMeter使用如下命令,以服务节点的形式启动。
jmeter-server
或jmeter -s
- 客户端的JMeter使用如下命令启动,即可调用指定的远程服务节点执行负载测试。
jmeter -n -t C:\Users\boyce\PlanDemo.jmx -l C:\Users\boyce\result\res.jtl -e -o C:\Users\boyce\result\WebReport\ -R 192.168.0.112
3. 报告生成与分析
JMeter中自带多种报告,如:图表结果、聚合报表、总结报表、响应时间图等。除此之外,还可以集成第三方报告生成的插件,使报告更加完善全面。
3.1. SummaryReport
在Summary Report组件导入测试结果jtl文件后,展示的总结报表如下。通过以Label字段排序,可得知每一个事务的样本量、平均耗时、最小耗时、最大耗时、耗时标准偏差、错误率、吞吐量、接收速率、发送速率以及平均字节大小。
3.2. AggregateReport
在Aggregate Report组件导入测试结果jtl文件后,展示的总结报表如下。通过以Label字段排序,可得知每一个事务的样本量、平均耗时、中位数耗时、90%耗时、95%耗时、99%耗时、最小耗时、最大耗时、错误率、吞吐量、接收速率以及发送速率。
3.3. Aggregate Graph
聚合图形报告主要将聚合报告以图形化的形式进行展示,可自定义选择待展示的列标题、事务标签等内容。
在Aggregate Graph组件导入测试结果jtl文件后,指定展示平均耗时、90%耗时、最大耗时字段,并仅保留父级事务标签后,生成的聚合图形报告如下。
3.4. Response Time Graph
响应时间图,主要统计并展示测试周期内各个事务的响应时间变化曲线。
在Response Time Graph组件导入测试结果jtl文件,筛选保留父级事务标签后,生成的响应时间图如下。
3.5. View Result in Table
以表格查看结果组件按照时间流水的形式,依次展示每一个采样器的采样结果,包含采样耗时、采样状态、接收数据量、发送数据量、延时、连接耗时等信息。
性能测试工具JMeter合集
【Performance】01. 性能测试技术初探篇之性能测试介绍
【Performance】02. 性能测试技术初探篇之常用性能测试工具
【Performance】03. 性能测试技术初探篇之 JMeter 工具使用
【Performance】04. 性能测试技术磨合篇之性能测试场景设计
【Performance】05. 性能测试技术磨合篇之脚本录制和调试
【Performance】06. 性能测试技术磨合篇之脚本执行和结果分析
【Performance】07. 性能测试技术历练篇之性能监控工具
【Performance】08. 性能测试技术历练篇之性能分析神器 JProfile
【Performance】09. 性能测试技术历练篇之 Java 诊断工具 Arthas