布局設置說明
參數說明:
Number of Simulated Users to Group
每次釋放的線程數量。如果設置為0,等同於設置為線程租中的線程數量。
Timeout in milliseconds
如果設置為0,Timer將會等待線程數達到了"Number of Simultaneous Users to Group"中設置的值才釋放。如果大於0,那么如果超過Timeout in milliseconds中設置的最大等待時間(毫秒為單位)后還沒達到"Number of Simultaneous Users to Group"中設置的值,Timer將不再等待,釋放已到達的線程。默認為0
使用時需要注意的點
- 如果設置Timeout in milliseconds為0,且線程數量無法達到"Number of Simultaneous Users to Group by"中設置的值,那么Test將無限等待,除非手動終止。
- Synchronizing timer 僅作用於同一個JVM中的線程,所以,如果使用並發測試,確保"Number of Simultaneous Users to Group by"中設置的值不大於它所在線程組包含的用戶數。
(原文:Synchronizing timer blocks only within one JVM, so if using Distributed testing ensure you never set "Number of Simultaneous Users to Group by" to a value superior to the number of users of its containing Thread group considering 1 injector only)
集合點作用域
- Synchronizing Timer是在每個sampler(采樣器)之前執行的,而不是之后,不管這個定時器的位置放在sampler之后,還是之前,如下,執行HTTP請求1和HTTP請求2前都會執行同步定時器
- 作用域:當執行一個sampler之前時,和sampler處於相同作用域的定時器都會被執行;
- 如果希望定時器僅應用於其中一個sampler,則把該定時器作為子節點加入
定時器僅僅對HTTP請求2起作用,即僅在HTTP請求2執行前執行定時器,和HTTP請求1無關
實際運行
如上,添加相關請求,結果樹等,進行必要設置后,運行查看效果
通過結果樹可以看到,請求是批量執行的,其中有兩個請求在集合點超時之后運行
點擊右上角的感嘆號可以查看運行日志,可以看到集合點等待超時的warning日志