JMeter學習-JMeter 定時器(Synchronizing Timer)之集合點應用

性能測試中我們經常提到一個概念就是“併發”,其實在實際真實的性能測試中是不存在真正的併發的。爲了更真實的模擬對一個請求的併發測試場景,我們通常設置一個集合點,JMeter中提供了這樣的一個功能設置。

那麼集合點的大致概念是什麼呢?

簡單理解就是:設置一個閥值(請求數量),當請求數達到這個閥值時,允許請求同時發出。例如:想測試一座橋的併發(忽略載重等其他因素,只考慮通過),那麼併發的請求就是類似於多少輛車可同時通過橋,而車輛一般情況下是不可能同時通過橋的,因而我們可以在橋頭A,設置一個集合點,等車輛數滿足一定的數量,同時讓車輛通過此橋。

添加路徑:右鍵單擊線程組,依次選擇【添加/定時器/Synchronizing Timer】即可添加集合點

添加後,顯示如下圖所示:

PS:超時時間爲0時,默認無超時限制。

 

實際運行過程中,可能出現請求數當不滿足集合點設置的請求數時,JMeter一直卡頓在如下頁面:

解決辦法是:設置同步定時器的超時時間。

同步定時器(Synchronizing Timer)的超時時間設置要求:

超時時間 > 請求集合數量 * 1000 / (線程數 / 線程加載時間)

同步計時器的超時時間定義:若在超時時間內,性能測試併發場景設定的併發樣本數量未達到,則jmeter認爲超時,會立即執行併發。這樣就不符合你設定的性能測試場景。

超時時間的設定值約束:超時時間 > 請求集合數量 * 1000 / (線程數 / 線程加載時間)

分母計算結果爲:每秒啓動的線程數;
請求集合數量:爲設定的性能測試場景的樣本併發數量;
不等式右邊計算結果爲:加載性能併發樣本所需時間(毫秒)

綜上,同步定時器的超時時間建議設置爲大於不等右邊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章