LR中集合點能夠設置多個虛擬用戶等待到一個點,同時觸發一個事務,以達到模擬真實環境下多個用戶同時操做,實現性能測試的最終目的。併發
jmeter中使用Synchronizing Timer實現Lr中集合點的功能,模擬多用戶併發測試,即多個線程在同一時刻併發請求。ide
jmeter中使用集合點的方法:Synchronizing Timer性能
將測試元件Synchronizing Timer添加到請求以前或某個Sampler的子節點,右鍵菜單依次選擇「添加–>定時器/Timer–>Synchronizing Timer」測試
Number of Simulated users to Group by: 集合點集合夠N個用戶開始併發spa
一、增長几個調試sample線程
二、增長定時器調試
三、配置定時器blog
四、運行結果,發送請求都是100的執行,很集中的執行事務
六、將定時器關閉運行,發現請求都是零零散散的。it
七、移動到其餘位置執行,發現只要在該線程組下,都是做用於該線程組下全部請求線程。以下圖
八、移動到子節點下面是什麼狀況呢,從下面的數據發現是做用於該父類節點的sampler
下面是網上找來的說明:
注:
1.把SynchronizingTimer放置於請求以前,一般Jmeter按樹狀結構順序執行
2.說明:
名稱:自定義名稱
Number of Simulated Users to Groupby:每次釋放的線程數量。若是設置爲0,等同於設置爲線程租中的線程數量。
Timeout in milliseconds:
若是設置爲0,Timer將會等待線程數達到了"Number of Simultaneous Users toGroup"中設置的值才釋放。若是大於0,那麼若是超過Timeout inmilliseconds中設置的最大等待時間(毫秒爲單位)後還沒達到"Number of Simultaneous Users toGroup"中設置的值,Timer將再也不等待,釋放已到達的線程。默認爲0
【注意】:
若是設置Timeout in milliseconds爲0,且線程數量沒法達到"Number of Simultaneous Users toGroup by"中設置的值,那麼Test將無限等待,除非手動終止。
Synchronizing timer 僅做用於同一個JVM中的線程,因此,若是使用併發測試,確保"Number of Simultaneous Users toGroup by"中設置的值不大於它所在線程組包含的用戶數。
(原文:Synchronizing timer blocks only within one JVM, soif using Distributed testing ensure you never set "Number ofSimultaneous Users to Group by" to a value superior to the numberof users of its containing Thread group considering 1 injectoronly)
二、如上,添加相關請求,結果樹等,進行必要設置後,運行查看效果
經過結果樹能夠看到,請求是批量執行的