在啟動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 project
Generate HTML Reporting Dashboard and compare the output for both scenarios
Use 3rd-party analysis solution like JAnalyser or BM.Sense
My 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報告了:
歡迎關注老王公眾號