jmeter學習指南之非GUI命令列執行詳解

testingbang發表於2019-08-21

一、為什麼要用命令列執行jmeter?

主要有以下三點:

1) 圖形化介面消耗更多資源,如CPU和記憶體,容易使壓力機達到瓶頸,從而影響測試結果。

2) 圖形化介面不支援大型的負載測試和效能測試,併發較大時,jmeter會崩潰。

3) 命令列方式可以把指令碼配置到Jenkins上實現持續整合,做成自動化測試。

二、解讀命令列引數

1、常用格式

jmeter -n -t [jmx指令碼路徑] -l [測試輸出結果檔案路徑]

引數解釋:

-n: 表示 non gui mode,就是非圖形化模式
 
-t: 即testplan,後跟要執行的jmeter指令碼的路徑和指令碼名稱。
 
    若指定路徑下沒有指定名稱的指令碼,則自動建立。
 
    若沒有路徑只寫指令碼名稱,則預設是在當前目錄查詢或建立。
 
-l: 後跟輸出結果檔案路徑和結果檔名稱。
 
    若指定路徑下沒有指定名稱的指令碼,則自動建立,可以生成csv或者jtl檔案。
    
    若只寫指令碼名稱,則預設是在當前目錄查詢或建立。
 
示例: jmeter -n -t testplan.jmx -l test.jtl
 
示例含義:以命令列模式執行當前目錄下的testplan.jmx檔案,並在當前目錄下輸出日誌檔案test.jtl
 
2、其它引數命令:

jmeter -n -t test.jmx -R 10.6.5.31,10.6.5.32 -l log.jtl
 
jmeter -n -t test.jmx -l  log.jtl -H 192.168.1.1 -P 8080
 
-r/R 遠端執行 -> 啟動遠端服務,即分散式執行多臺壓力機
 
-H 代理主機 -> 設定 JMeter 使用的代理主機
 
-P 代理埠 -> 設定 JMeter 使用的代理主機的埠號
 
使用-R指定節點時,要首先在這些節點上啟動jmeter-server的服務

Linux和windows系統下執行jmeter命令列

三、Linux系統執行jmeter命令列

1、修改配置檔案

如果你是第一次使用命令列執行測試指令碼,那麼看到的輸出結果可能是類似下面這樣的:

這些資訊僅僅告訴我們執行成功啦。

但是我想要看到本次測試的更多結果,要怎麼辦呢?

可以透過修改jmeter.properties配置檔案來解決:


將上面的註釋開啟,並且值修改成true,就會開啟該條記錄,jmeter就會將對應的資訊輸出到我們指定的jtl檔案中(不過這樣會在壓測過程中產生大量的日誌檔案,真正壓測時,最好不要開太多的日誌記錄),然後可以在結果檔案中檢視詳細的資訊。

但是我們想在指令碼執行的過程中實時檢視結果資訊,要怎麼做呢?

同樣是修改配置檔案jmeter.properties

開啟上面的summariser.name、summariser.i nterval、summariser.out這三個配置項,儲存,重新執行jmeter,應該就可以在shell裡看到統計資訊了,如下圖所示:

這裡顯示的資訊就相當於GUI介面下聚合報告元件所顯示的資訊。

其中主要有兩種資訊:summary + 和summary =,其它項都是類似的

summary +   4386 in 00:00:30:在30秒內增加了4386個請求,其中時間間隔由配置檔案中的interval統計頻率的值決定

summary =  27455 in 00:03:12:在3分12秒內產生的總請求數是27455個,其中的時間段是從指令碼執行開始計算到當前時間為止,一般在指令碼執行過程中主要關注 “summary=” 資訊即可


146.2/s:系統每秒處理的請求數,相當於TPS

Avg:   684:平均響應時間

Min:   201:最小響應時間

Max:  1499:最大響應時間

Err:     0 (0.00%):錯誤數/率

Active: 100:活動的執行緒數

2、那麼怎麼檢視生成的jtl檔案呢?

把生成的jtl結果檔案下載到本地

開啟jmeter,新增察看結果樹和聚合報告元件

在”檔名”處選擇瀏覽,開啟jtl結果檔案,即可察看詳細結果

3、命令列中的檔案路徑

示例:jmeter -n -t testplan.jmx -l test.jtl

JMeter 預設去當前目錄尋找指令碼檔案,並把日誌記錄在當前目錄。比如你在 C:toolsapache-jmeter-3.0bin 目錄下執行以上命令,JMeter 會去該目錄下尋找 test.jmx 指令碼並把執行結果放在該目錄。

如果你的指令碼在其他目錄,而且想要把執行結果放在另外資料夾,需要使用絕對路徑告訴 JMeter,比如:

C:toolsapache-jmeter-3.0bin>jmeter -n -t e:addCustomer.jmx -l e:addCustomer.jtl

四、windows系統下執行jmeter命令列

在windows下執行命令列跟linux下是一樣的,只是透過cmd命令列工具來執行的


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69942496/viewspace-2654370/,如需轉載,請註明出處,否則將追究法律責任。

相關文章