jmeter非GUI模式優勢及實例說明

JMeter能夠運行模式有兩種,一種是GUI圖形,另外一種是命令模式運行也就是非GUI模式。兩種模式的區別仍是挺大的。linux

GUI:因爲是圖形界面,因此在運行時會消耗不少資源,並且圖形界面運行時結果是保存在Jmeter運行的內存中,若是是作長時的性能測試,內存就會佔用的很高,首先就是影響性能結果的準確性,其次當內存增加到必定程度,就會報錯,甚至可能出現卡死/宕機。shell


非GUI優點:命令模式運行能夠將實時的log文件保存到本地,位置能夠自定義,不會佔用太多機器的資源,能夠長時間運行。windows

1.節約系統資源:無需啓動界面,節約系統資源服務器

2.便捷快速:僅需啓動命令行,輸入命令即可執行,是爲命令達人最愛併發

3.易於持續集成:可經過shell腳本命令執行分佈式

 

非GUI運行命令部分:性能

    • -h 幫助 -> 打印出有用的信息並退出測試

    • -n 非 GUI 模式 -> 在非 GUI 模式下運行 JMeterspa

    • -t 測試文件 -> 要運行的 JMeter 測試腳本文件命令行

    • -l 結果文件路徑 -> 記錄結果的文件,路徑不存在時會自動建立格式爲jtl或csv

    • -r 遠程執行 -> 在Jmter.properties文件中指定的全部遠程服務器

    • -R 遠程執行 -> 執行指定的服務器

    • -j 指定執行日誌路徑 -> 路徑不存在時不會自動建立

    • -e 設置測試完成後生成測試報表

    • -g CSV結果文件 --> 指定測試執行結果文件路徑,僅用於生成測試報表

    • -o 報表文件夾路徑  --> 執行測試報表生成文件夾,文件夾必須爲空或者不存在

    • -H 代理主機IP -> 設置 JMeter 使用的代理主機

    • -P 代理端口號 -> 設置 JMeter 使用的代理主機的端口號

非GUI運行示例:

jmeter -h

含義爲:獲取jmeter的命令幫助

jmeter -n -t test.jmx 

含義爲:以命令模式運行test.jmx文件

jmeter -n -t test.jmx -l report\01-result.csv -j report\01-log.log

含義爲:以命令模式運行test測試文件並保存結果及日誌文件,須要注意的是若是日誌路徑不存在將不會自動建立,且日誌會輸出在命令行窗口,生成的結果文件能夠在JMeter的圖形界面下的聚合報告中導入結果文件進行查看。

jmeter -n  -t  test.jmx  -r  -l report\01-result.csv -j report\01-log.log

含義爲:以命令模式遠程調用remote_hosts中配置的全部服務器運行test測試文件並保存結果及日誌文件,須要注意的是執行端的日誌文件默認生成在用戶目錄下

jmeter -n -t  test.jmx  -R 192.168.21.40:1029 -l report\01-result.csv -j report\01-log.log

含義爲:以命令模式遠程調用192.168.21.40服務器運行test測試文件並保存結果及日誌文件

 

 

爲方便管理起見,在Jmeter安裝目錄下的bin目錄下建立一個文件夾testscript用來存放腳本(.jmx文件),再建立一個文件夾testresult用來存放腳本執行後的結果文件。
結果文件是能夠在Jmeter可視化界面打開的,它保存了腳本執行過程當中的各類結果很是全面,結果樹、聚合報告、表格查看結果等均可以將它打開看到響應的數據。

 

執行方法:

 

Windows

 

一、cmd打開命令行模式

 

二、切換到Jmeter安裝目錄下的bin目錄下

 

三、執行命令:jmeter -n -t testscript\Baidu.jmx -l testresult\01-reslut.jtl(執行結果文件也能夠保存爲.cvs後綴)

 

在腳本運行過程當中,因爲無界面,命令窗口會每隔一段時間打印一下當前的運行狀態,你會在窗口中看到相似下面的信息:

 

 

summary+ 是開始這個時點的報告。

 

summary= 是總結它以前的報告,呈現出的是當前時點以前總的狀況,一般是均值。

 

最後一個summary=是本次壓測總的狀況,若是腳本按時正常結束的話,最後一次summary裏面的值應該和你從GUI打開聚合報告或歸納報告的值一致。

 

 

Linux

 

一、使用linux命令進入Jmeter安裝目錄下的bin目錄

 

二、執行命令:jmeter -n -t testscript\Baidu.jmx -l testresult\01-reslut.jtl(執行結果文件也能夠保存爲.cvs後綴)

 

三、把結果文件下載到windows機器上,使用Jmeter打開結果文件

 

 

 

無界面分佈式壓測

 

當併發量過大單機沒法承擔須要作分佈式壓測,分佈式的配置同之前文章介紹的同樣,再次不作贅述。

 

執行方法:

 

  一、把腳本和參數文件存放到各臺終端相同目錄下

 

  二、將每臺終端的jmerter-server.bat打開等待主機發號施令

 

  三、在主機命令窗口鍵入相似如下命令:

 

     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文件裏。

 

執行結果:

 

 

 

 

相關文章
相關標籤/搜索