性能测试 Jmeter 非 GUI 模式 -CLI 命令详解

前言

我们在使用Jmeter做性能测试的时候,大部分同学用的是图形化界面进行脚本编写和执行性能测试的。但是其实真正在公司执行性能测试的时候,我们基本上不会用图形化界面去执行测试,这是因为工具渲染这些图形本身也会消化客户端机器的资源,然后如果客户端还运行了一些其他的工具比如打开浏览器、视频工具等,那么也会让Jmeter结果存在很多不稳定的因素。

所以,我们在真正运行性能测试的时候,不会用图形化界面的方式去运行,都会用CLI的命令行模式运行。

CLI命令的参数

所谓CLI命令,可以兼容各个系统平台,比如windows可以通过cmd来执行,Linux和mac电脑都可以通过终端命令行执行。所以,CLI命令执行也可以很方便进行跨平台运行。

CLI命令执行Jmeter脚本的常见参数如下:

图片.png

windows和mac系统实战

通过异常的参数,CLI命令的常用样例:

jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
准备工作:需要在客户机上先安装好jdk和Jmeter ,jmx脚本最好是win的图形界面写好,并调试通没有问题,再上通过CLI去执行。
在windows下执行一个jmx脚本的命令:
jmeter.bat -n -t kyj项目.jmx -l vip16\jtl\001.jtl -e -o vip16\report

注意,以上的命令中:

在linux系统下用cli命令执行jmx脚本:

注意问题: 要在Linux上执行jmx脚本,一般会先在windows系统上用图形化界面工具编写和调试好脚本;然后整个Jmeter工具包和脚本都一起同步到Linux系统里。

执行的命令跟windows略微有差别:

./jmeter.sh -n -t kyj项目.jmx -l report-template/nungui.jtl 

图片.png

查看测试结果

不管通过哪个平台执行CLI命令,都可以通过两种方式看到测试结果:

方式一:屏幕刷新显示测试结果数据

图片.png

以上的每行数据会默认5s左右会刷新结果显示。刷新出来的结果日志的解析如下:

图片.png

方式二:通过jtl直接生成测试报告html的测试报告
生成HTML的测试报告的两种方式:

1、直接通过jtl文件去生成:jmeter -g report.jtl -o dictreport

[root@centos7 bin]# ./jmeter.sh -g report-template/nungui.jtl -o report1

生成的测试报告如下:

图片.png

2、自动生成报告:直接生成jtl文件和报告文件。

./jmeter.sh -n -t 性能脚本/性能公开课.jmx -l result1.jtl -e -o resultreport001

通过以上命令也会在指定目录下生成html的报告文件。

图片.png

这个index.html文件可以直接在浏览器里打开就可以看到详细的性能测试报告展示了:

图片.png

在这个html的详细测试报告里可以看到非常多详细数据统计结果,不过最需要关心是以下几个:

1、dashboard里显示的基本信息数据:

图片.png

这个满意度指数越接近于1,说明越多的请求响应时间小于500ms,用户越满意。

2、聚合统计数据:Jmeter的聚合报告跟上图是一样的。

图片.png

3、平均响应时间:html报告中,取点,默认是1分钟1个点。可以展示性能过程中RT的数据。这个是我们非常关心的图表数据。

图片.png

4、TPS的图表数据,可以显示TPS的趋势,用于分析服务器的处理事务的能力。

图片.png

5、在线线程数,可以看到不同时间里的并发用户数。

图片.png

1 操作
tricy 在 2024-03-20 17:20:04 更新了该帖
回帖
请输入回帖内容 ...