1. 程式人生 > >JMeter 定時器(Synchronizing Timer)之集合點應用

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

src 限制 選擇 info 功能 http 來源 圖片 換算

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

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

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

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

技術分享圖片

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

技術分享圖片

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

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

技術分享圖片

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

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

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

技術分享圖片

至此,此文順利完結,希望此文能夠給初學 JMeter 的您一份參考。

最後,非常感謝親的駐足,希望此文能對親有所幫助。熱烈歡迎親一起探討,共同進步。非常感謝! ^_^

原文來源 https://www.cnblogs.com/fengpingfan/p/5583594.html

ps:公式解釋:超時時間的設定值約束:超時時間 > 請求集合數量 * 1000 / (線程數 / 線程加載時間) 首先要弄明白同步計時器的超時時間定義:若在超時時間內,性能測試並發場景設定的並發樣本數量未達到,則jmeter認為超時,會立即執行並發。這樣就不符合你設定的性能測試場景。
分母計算結果為:每秒啟動的線程數;
請求集合數量:為設定的性能測試場景的樣本並發數量;
不等式右邊計算結果為:加載性能並發樣本所需時間(毫秒)
綜上,同步定時器的超時時間建議設置為大於不等右邊。 問題:
1. 集合請求數量為什麽要 乘以 1000 ?
2. 線程數 是單指線程組的線程數 還是 線程數 * 循環次數? 比如線程組的線程數是 100 ,循環次數是10,這裏分母中的線程數是100 還是100*10? 解答: 1、換算成毫秒
2、100

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