JMeter非GUI模式执行测试
实际压测时,强烈建议使用命令行模式,即非GUI模式,消耗压力机资源较低,可以支持较大并发。
注意:如有必要,使用管理员权限打开命令提示符
如有必要,重启master机或者slave机
如有必要,重启jmeter
windows可以直接在脚本目录,打开命令行:按住Shift键,鼠标右键选择“在此处打开命令窗口”
以下命令在windows和linux下均适用
1.命令解释
jmeter -n -t xxx.jmx -r -l xxx.jtl
n表示无GUI运行,t表示要运行的jmx文件,r指远程将所有agent启动,l指生成的文件名称
2.命令汇总
jmeter -n -t xxx.jmx -l 001.jtl 支持
jmeter -n -t xxx.jmx -r -l 001.jtl 支持
jmeter -n -t xxx.jmx -Jthreads=10 -l 001.jtl ----------这两条,指定线程数,但没有指定循环次数 支持
jmeter -n -t xxx.jmx -Jthreads=10 -r -l 001.jtl----------所以适用于运行几分钟的情况 不支持?
jmeter -n -t xxx.jmx -Jthreads=10 -Jloops=100 -l 001.jtl 支持
jmeter -n -t xxx.jmx -Jthreads=10 -Jloops=100 -r -l 001.jtl 不支持?
jmeter -n -t xxx.jmx -Jthreads=10 -Jloops=100 -l 001.jtl -e -o output
jmeter -n -t xxx.jmx -Jthreads=10 -Jloops=100 -r -l 001.jtl -e -o output 不支持?
jmeter -g 002.jtl -o output
疑惑:非GUI模式下+分布式模式下,不支持参数化线程数和循环数?
3.命令使用场景
(1)jmeter -n -t xxx.jmx -l 001.jtl
运行完毕,可以在jmeter中打开jtl文件查看结果
(2)在命令行中对线程数和循环次数进行参数化:
修改jmeter脚本
替换具体的线程数、循环数
命令行中增加 -J 参数
jmeter -n -t xxx.jmx -Jthreads=10 -Jloops=100 -l 001.jtl
(3)使用命令自动生成HTML性能报告和各种指标的图表
修改jmeter.properties
jmeter.save.saveservice.output_format=csv
jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss
修改user.properties统计间隔
jmeter.reportgenerator.overall_granularity=1000
生成HTML报告的两种方式:
压测结束时生成HTML报告
jmeter -n -t xxx.jmx -Jthreads=10 -Jloops=100 -l 001.jtl -e -o output
使用已有结果文件生成HTML报告
jmeter -g 002.jtl -o output