jmeter之非GUI執行
一、應用場景
日常測試過程中發現,在大數量併發時,jmeterGUI介面經常宕機、卡死,在這種情況下我們就需要使用命令列來執行指令碼了(非GUI模式)。
二、命令列模式優點
1、節約系統資源,無需啟動介面
2、便捷快速:僅需啟動命令列,輸入命令便可執行
3、易於持續整合:可通過shell指令碼命令執行
三、引數詳解
四、無介面單機執行
為方便管理起見,在Jmeter安裝目錄下的bin目錄下建立一個資料夾testscript用來存放指令碼(.jmx檔案),再建立一個資料夾testresult用來存放指令碼執行後的結果檔案。
結果檔案是可以在Jmeter視覺化介面開啟的,它儲存了指令碼執行過程中的各種結果非常全面,結果樹、聚合報告、表格檢視結果等都可以將它開啟看到響應的資料。
執行方法:
Windows
1、cmd開啟命令列模式
2、切換到Jmeter安裝目錄下的bin目錄下
3、執行命令:jmeter -n -t testscript\Baidu.jmx -l testresult\01-reslut.jtl(執行結果檔案也可以儲存為.cvs字尾)
在指令碼執行過程中,由於無介面,命令視窗會每隔一段時間列印一下當前的執行狀態,你會在視窗中看到類似下面的資訊:
summary+ 是開始這個時點的報告。
summary= 是總結它之前的報告,呈現出的是當前時點之前總的情況,通常是均值。
最後一個summary=是本次壓測總的情況,如果指令碼按時正常結束的話,最後一次summary裡面的值應該和你從GUI開啟聚合報告或概括報告的值一致。
Linux
1、使用linux命令進入Jmeter安裝目錄下的bin目錄
2、執行命令:jmeter -n -t testscript\Baidu.jmx -l testresult\01-reslut.jtl(執行結果檔案也可以儲存為.cvs字尾)
3、把結果檔案下載到windows機器上,使用Jmeter開啟結果檔案
五、無介面分散式壓測
當併發量過大單機無法承擔需要做分散式壓測,分散式的配置同以前文章介紹的一樣,再次不做贅述。
執行方法:
1、把指令碼和引數檔案存放到各臺終端相同目錄下
2、將每臺終端的jmerter-server.bat開啟等待主機發號施令
3、在主機命令視窗鍵入類似以下命令:
jmeter.bat -n -t testscript/Baidu.jmx -R 192.168.182.129:1100,192.168.182.130:1200 -l testresult/01-result.jtl
命令中-R代表遠端 remote ,後面跟隨的是每臺終端機jmeter-server視窗顯示的 ip 和埠,同樣,多臺終端之間由逗號隔開,其他都與單機命令一樣。於是可以看到各臺終端機的jmeter-server視窗有關執行和階段性summary的資訊直至執行結束。總體的報告都在你主機儲存的那個.jtl檔案裡。
執行結果: