性能测试:工具篇:jmeter-命令行使用
jmeter命令行使用
jmeter
在Windows
或macOS
启动都会有一个GUI界面的,一般GUI
界面都用于脚本的编写和调试。通常对编写好和调试更好的脚本会放在服务器上利用命令来运行。
首先,利用GUI
界面编写并调试成功的一个简单的压测脚本,图片如下:
其次,使用命令行模式执行脚本,命令如下:
PS E:\git_code\python-code\jmeterProject> jmeter -n -t .\测试登录.jmx -l report.jtl -e -o report
Creating summariser <summary>
Created the tree successfully using .\测试登录.jmx
Starting standalone test @ Mon Aug 29 17:45:25 CST 2022 (1661766325874)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary = 5 in 00:00:01 = 5.6/s Avg: 32 Min: 22 Max: 40 Err: 0 (0.00%)
Tidying up ... @ Mon Aug 29 17:45:26 CST 2022 (1661766326995)
... end of run
“测试登录.jmx
”是要执行的脚本名称,执行完成后并生成一个report.jtl
的文件,然后并把输出的结果报告存储到report
(必须是空文件夹,否则会报错,新版增加-f
,用于清除文件夹中的老数据)目录下。
最后,生成的建议的测试报告,图片如下:
jmeter分布式执行命令
PS E:\git_code\python-code\jmeterProject> jmeter -n -t .\测试登录.jmx -R 10.10.12.120 -f -l report.jtl -e -o report
Creating summariser <summary>
Created the tree successfully using .\测试登录.jmx
Configuring remote engine: 10.10.12.120
Starting distributed test with remote engines: [10.10.12.120] @ Mon Aug 29 18:24:32 CST 2022 (1661768672724)
Remote engines have been started:[10.10.12.120]
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary + 1 in 00:00:01 = 1.1/s Avg: 31 Min: 31 Max: 31 Err: 0 (0.00%) Active: 5 Started: 5 Finished: 0
summary + 4 in 00:00:00 = 666.7/s Avg: 27 Min: 25 Max: 34 Err: 0 (0.00%) Active: 0 Started: 5 Finished: 5
summary = 5 in 00:00:01 = 5.4/s Avg: 28 Min: 25 Max: 34 Err: 0 (0.00%)
Tidying up remote @ Mon Aug 29 18:24:34 CST 2022 (1661768674564)
... end of run
其中,-R
选项是进行分布式运行,默认通过1099
端口。若是多台计算机参与发起压力,那么就接多个接口的IP,以逗号进行分割即可。-f
就是清空上次运行产生的报告数据。
具体的分布式布置可参考这篇文章:文章链接
jmeter常用命令参数及属性含义
选项参数 | 属性含义 |
---|---|
-n | 无界面模式 |
-t | 待执行的测试计划 |
-l | 输出结果报告文件路径文件名(.jtl、.csv) |
-g | 输出报告文件(.csv) |
-o | 输出HTML报告 |
-f | 强力删除原先存在的HTML报告文件 |
-e | 生成测试报告 |
-R | 分布式指定计算机IP |
-r | 分布式指定jmeter.proerties文件配置好的计算机IP |
-j | 指定执行日志的路径 |
注意点:
如果是长时间的稳定性压测过程中,由于.jtl
文件比较大,解析生成结果的时间会很久,所以就会出现脚本都执行完了也会一直卡着不动,直到报告解析完成后才是真正的结束了全部。
今天先聊到这里吧,以上总结或许能帮助到你,或许帮助不到你,但还是希望能帮助到你,如有疑问、歧义,直接私信留言会及时修正发布;非常期待你的一键 3 连【 点赞、收藏、分享 】哟,谢谢!
未完成,待续……
一直在努力,希望你也是!
微信搜索公众号:就用python