JMeter以非GUI模式执行压力测试

2019-06-13

为什么要使用非GUI模式执行压力测试呢?

  1. 图形化界面消耗更多资源,CPU和内存
  2. 图形化界面不支持大型的负载测试和性能测试
  3. 命令行测试支持持续集成,例如放到Jenkins这样的CI工具上

相关参数

-h:帮助,打印出有用的信息并退出 -n:以非GUI形式运行Jmeter -t:Jmeter脚本路径 -l:输出结果路径,如果没有该文件就自动创建,可以生成csv或者jtl文件 -r:远程执行,启动远程服务 -H:代理主机,设置Jmeter使用的代理主机 -P:代理端口,设置Jmeter使用的代理主机的端口号 -e:在脚本运行结束后生成html报告 -o:保存html报告的地址,此文件夹中必须为空 -J:传递动态参数搭配, 在脚本中需要配合__P函数取值,如:-Jthreads=100 脚本取值为: ${__P(threads,1)}

一个完整的例子

jmeter -n -t Example.jmx -l result.csv -Jduration=60 -JthreadNum=30 -JloopCount=-1 -JrampUp=0 -e -o webreport

对应的JMX线程组配置 image.png

参数挺多的,也不太好记,简单写个工具来执行吧: image.png

image.png

环境变量设置: image.png

需要 JAVA8 以上版本。

/JMeter4CN.zip (暂时仅支持Window)