Jmeter中通過線程組來模擬大用戶並發場景,今天主要介紹三個常用的線程組,幫助我們設計更加完善的測試場景,另外介紹下場景執行時間如何計算。
一、Thread Group
-
取樣器錯誤后要執行的動作
繼續:遇錯誤繼續執行,不影響場景運行。默認為繼續,常用。
Start Next Thread Loop:執行下次循環,當前循環剩余sampler不再執行。
停止線程:停止當前線程,其他線程繼續執行。
停止測試:執行完剩余線程后停止測試。
Stop Test Now:立即停止所有線程。
-
線程屬性
線程數:即並發數,如圖設置為100並發
Ramp-Up Period (in seconds):並發用戶加載時間,如圖設置為1s,執行時1s內要加載100並發數
循環次數/永遠:填寫具體數字,即為並發執行循環次數,一次場景下來,請求的數量=線程數*循環次數;選擇永遠,則一直執行下去,除非手工停止。
Delay Thread creation until needed:延遲線程創建,知道需要時才創建。
調度器:勾選后,調度器配置項設置生效,可設置場景持續執行時間、延遲啟動時間、啟動時間、結束時間。
持續時間:場景持續執行的時間
啟動延遲:延遲多久執行
啟動時間:控制場景什么時間執行,一般晚上執行的時候設置。如果當前時間大於啟動時間,啟動后立即執行;如果當前時間小於啟動時間,啟動后等待啟動時間到之后執行。
結束時間:控制場景什么時候結束。如果啟動時間或當前時間大於結束時間,運行后立即停止。
場景運行時間包含:持續時間+線程加載時間+線程停止時間+循環執行的時間
二、jp@gc - Stepping Thread Group (deprecated)
初次安裝Jmeter,是看不到jp@gc - Stepping Thread Group (deprecated)和jp@gc - Ultimate Thread Group的,因為這兩個線程組是Jmeter Plugins提供的。
-
安裝步驟
打開Jmeter,菜單欄,選項》Plugins Manager》Custom Thread Groups組件安裝,安裝后重啟Jmeter,右鍵添加線程組中即可看到。
-
參數說明
This group will start:線程數,圖中為100個線程
First wait for:第一個線程延遲多久啟動,上圖是0秒
Then start:初始加載多少個個現成,圖中為0個
Next,add:下次加載多少個線程,圖中為10個
Threads every:運行多久后再加載線程,圖中為1s
Using ramp-up:加載next線程的時間,圖中為0s,即初始化情況下,0s內加載10個線程,然后每隔1s再加載10個,加載100個需要9s。
Then hold load for:全部線程加載完畢后持續運行多久,單位s,上圖是100個線程全部加載完畢,持續運行60s。即,100並發運行60s。
Finally stop/threads every:多長時間停止多少線程,上圖是在1s內停止10個線程,停止100個需要9s.
Elapsed time:加載線程的時間9s+持續運行的時間60s+線程停止的時間9s=78s
三、jp@gc - Ultimate Thread Group
-
參數說明
Start Thread Count:開始線程數量,即並發數,圖中為10個並發
Initial Dealay,sec:線程延遲運行時間,圖中為0,及不延遲啟動。
Startup Time,Sec:線程加載時間,圖中為10s,即10s啟動100個線程。
Hold Load For,Sec:持續運行時間,圖中為60s。
Shutdown Time:停止線程時長,圖中為10s。
Elapsed time=Initial Dealay+Startup Time+Hold Load For+Shutdown Time
四、Loadrunner-Controller設置場景
與上述二、三種的場景設置是不是類似,具體應用這里就不做介紹了。