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


为什么要使用非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)}`

一个完整的例子

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

JMeterScriptRun.jar.zip (暂时仅支持Window)

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×