使用Jmeter时选择GUI模式还是Non GUI模式?有的测试同学可能还没时间细看Jmeter启动后的命令行日志的内容:
Jmeter启动时已提示我们:Don't useGUI mode for load testing !, only for Test creation and Test debugging.For loadtesting, use NON GUI Mode。
请不要使用GUI模式进行负载测试!GUI模式仅限于测试脚本的编写和调试。负载测试请用非界面模式。
并且提示了使用命令:
jmeter -n -t [jmx file] -l [results file]-e -o [Path to web report folder]
& increase Java Heap to meet your testrequirements:
Modify current env variable HEAP="-Xms1g -Xmx1g-XX:MaxMetaspaceSize=256m" in the jmeter batch file
Check :https://jmeter.apache.org/usermanual/best-practices.html
举个栗子比如:
Jmeter –n –t test.jmx –l test_result.jtl –e–o ./report
就是以非界面模式执行test.jmx这个脚本,生成结果文件为test_resutl.jtl,运行结束后创建图形仪表报告,放在当前目录的report文件夹下。
参数详解
-n 表示使用non-gui模式
-t [JMX测试脚本的名称].
-l [保存JTL 测试结果文件的路径].
-j [JMeter log文件的路径].
-r 在JMeter的远程机器上运行测试,远程机器由 property " remote_hosts "指定
-R [远程机器列表] 在指定的远程机器上运行测试
-g [CSV 文件路径] 通过csv文件来创建dashboard报告
-e 运行结束后创建dashboard报告
-o 在哪个目录创建dashboard报告,该目录必须为空或者不存在
下面我们实际操作看看:
- 设置Jmeter_Home环境变量
执行命令行前,咱们需要先设置计算机的环境变量。Path的值增加%Jmeter_home%。
- 写一个jmeter脚本并设置好并发线程数、并发时间
- 在命令行执行
然后执行命令:Jmeter-n -t baidu_tel_local.jmx -l baidu_test_result1.jtl -e -o ./report1
- 执行完毕就可以查看生成的测试报告了
总结:
使用Non GUI模式压测,一是可以节省执行机的资源。二是可以生成图形化的报告,报告比较完整。主要关注的TPS、响应时间、执行时间、吞吐量等都有展示。