在启动Jmeter时,我们会看到这样一句提示:
不要使用GUI模式(界面模式)进行负载测试,GUI模式只能用于创建测试和调试。进行负载测试时,需要时用非GUI模式。
那么为什么进行负载测试时一定要用非GUI模式?大家都知道无非是占用资源的区别,但是直到一次性能测试时,因为并发比较高,每次Jmeter都是很快吃完了所有的系统资源,只能强行shut down;也就是说,使用GUI模式下进行压力测试时,Jmeter吃掉了大量的资源,待测服务器下却没有任何压力条件。
摔!我看你就是在为难我胖达!你这不叫吃资源,你这直接把资源吸进淋逼惹!
后来在stackoverflow上看到了一个回答,具体解释了jmeter两个模式下的差别:
答案原文如下:
Non-GUI mode consumes a way less resources that GUI mode so I would recommend looking not only into Average Response Time, but also keep in mind other important metrics, for example check delivered load in both scenarios, i.e:
Active Threads Over Time and Transactions per Second listeners output (both are available via JMeter Plugins projectGenerate HTML Reporting Dashboard and compare the output for both scenariosUse 3rd-party analysis solution like JAnalyser or BM.SenseMy expectation is that in GUI mode you have much slower ramp-up hence you can run into the situation when some threads already had already finished their work while others were not yet started. In non-GUI ramp-up is faster so you have more online users so the load delivered to your application under test is much higher.Try increasing loop count and test duration to see how it goes.渣翻之:非GUI模式下比GUI模式消耗更少的系统资源,我建议不要只关注平均响应时间,也要关注其他重要的指标,比如说检查测试流程中的每个节点,比如线程的启动时间、每秒钟执行的事务、监听器的输出(Jemter可用的插件、生成的hmtl报告、和第三方的分析工具进行对比,结论是GUI模式下你的ramp-up更慢,因为会出现一些线程已经完成了,但是其他的进程还没有开始的情况;在非GUI模式下,ramp-up会更快,所以你有更多在线的用户,所以访问到待测系统效率更高),可以试试增加循环次数,然后观察在测试期间是怎么运行的。
一.jmeter环境变量配置:
使用GUI的非GUI模式,需要先配置JMETER的环境变量:
计算机-属性-高级系统设置,新增两个变量:
变量名:JMETER_HOME
变量值:Jmeter的安装路径变量名:CLASSPATH变量值:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;配置好后可能会出现环境变量无法生效的问题,在cmd输入set path即可。
配置完成后在cmd中输入jemter -v,显示jmeter版本号表示环境变量配置成功。
二.常见的Jmeter命令:
常见命令:
1 | jmeter -n -t 预约.jmx -l result.jtl -e -o output |
-e -o output,指的是在out文件下生成html报告
运行效果如下:
进入out文件夹,就能看到我们生成的html报告了:
欢迎关注老王公众号