1. 程式人生 > >Jmeter使用集合點,模擬達到指定的執行緒數後高併發測試

Jmeter使用集合點,模擬達到指定的執行緒數後高併發測試

場景:
Jmeter執行緒啟動了就會直接傳送測試請求;
如果要模擬在一瞬間高併發量測試的時候,需要調高執行緒數量,這很耗測試機器的效能,往往無法支援較大的併發數,無法控制每次測試的瞬間併發量。
那麼,該如何解決上述問題呢?

解決方案:
使用集合點。阻塞執行緒,直到指定的執行緒數量到達後,再一起釋放,可以瞬間產生很大的壓力。
操作步驟:
1、新增集合點,在Jmeter裡是synchronized timer;

 

image.png

 

image.png

 

1)、Number of Simulated Users to Group by
a.每集合夠多少個模擬使用者(執行緒)後傳送一次測試請求;
b.如果設定為0,等同於設定為執行緒租中的執行緒數;
c.確保設定的值不大於它所線上程組包含的使用者數(執行緒數)-- 一直集結執行緒而不發出測試請求,直到超時(如果設定了的話)。
例子說明:“Number of Simulated Users to Group by: 5”表示併發量是5。也就是說,Jmeter會等到5個執行緒都執行到此處時,這五個執行緒才開始執行後面的操作,先到達的執行緒將會在此等候。
2)、Timeout in milliseconds
a.超時時間,即多少毫秒後同時釋放已集結的的執行緒,傳送測試請求;
b.如果設定為0,Timer將等待執行緒數達到了"Number of Simultaneous Users to Group"中設定的值才釋放。如果大於0,那麼如果超過Timeout in milliseconds中設定的最大等待時間(毫秒為單位)後還沒達到"Number of Simultaneous Users to Group"中設定的值,Timer將不再等待,釋放已到達的執行緒。
3)、這裡設定:
Number of Simulated Users to Group by :10
Timeout in milliseconds :500

2、設定執行緒組屬性
因為現在是使用集合點來實現高併發測試,所以現線上程組屬性中就可以設定執行緒在較長的時間來啟動,這樣測試機器的壓力就會相對小一點;

 

image.png

3、新增相關請求,結果樹等,執行檢視效果

 

image.png

 

通過結果樹可以看到,請求是批量執行的;
1)開始執行的指令碼,觀察請求的增加數量趨勢;
2)對比請