jmeter集合器的用法

集合點:是讓所有請求在不滿足條件的時候處於等待狀態,達到一定數目後執行併發操作。(併發測試)
如:集合點設置爲100,當不滿足100個請求的時候,這些請求都會集合在一起,處於等待狀態,當達到100的時候,就一起執行。從而達到併發的效果。

Jmeter中可以通過同步定時器 Synchronizing Timer 來完成。
在這裏插入圖片描述
Number of Simulated Users to Group by:按組分組的模擬用戶數。
timeout in milliseconds:Timout的意思是等待請求多久後,不管線程數有沒有到達設置的併發數量都開始運行測試。(注:0是永不超時,若有請求處於等待狀態,則需要手動stop)
場景1-1:創建兩個請求:請求1,請求2(集合點放在請求2子目錄下),線程數爲1,集合點爲2,超時爲0。
在這裏插入圖片描述
結果:請求1被執行,請求2永久等待,需手動stop。
場景1-2:創建兩個請求:請求1(集合點放在請求1子目錄下),請求2,線程數爲1,集合點爲2,超時爲0。
在這裏插入圖片描述
結果:請求1 由於沒有達到集合點線程數量,處於等待狀態,請求2 因爲請求1沒有執行完成也處於等待狀態,需手動stop。
場景1-3:創建兩個請求:請求1,請求2,線程數爲1(集合點放在線程數的子目錄下),集合點爲2,超時爲0。
在這裏插入圖片描述
結果:兩個請求均未達到集合點數,都處於等待狀態,需手動stop。
場景1-4:創建兩個請求:請求1,請求2,線程數爲2(集合點放在線程數的子目錄下),集合點爲2,超時爲0。
在這裏插入圖片描述
結果:兩個請求都達到集合點,執行請求。
場景2-1:創建請求1,線程數爲3(集合點放在線程數的子目錄下),集合點爲2,超時爲0。
在這裏插入圖片描述
結果:只執行了2個請求,2個請求爲一組併發,還有1個請求由於沒有達到併發數處於等待狀態,需手動stop。
場景2-2:創建請求1,線程數爲3(集合點放在線程數的子目錄下),集合點爲2,超時爲10000。
在這裏插入圖片描述
結果:先執行2個請求,10S後執行第3個請求。
場景2-3:創建請求1,線程數爲3(集合點放在線程數的子目錄下),集合點爲3,超時爲10000。
在這裏插入圖片描述
結果:併發執行3個請求。

結論:
Timeout in milliseconds: 如果設置爲0,Timer將會等待線程數達到了"Number of Simultaneous Users to Group"中設置的值才釋放。也就是說,如果線程數不足集合點中設置的數,就會一直等待,需要手動stop。
如果大於0,那麼如果超過Timeout in milliseconds中設置的最大等待時間(毫秒爲單位)後還沒達到"Number of Simultaneous Users to Group"中設置的值,Timer將不再等待,釋放已到達的線程。也就是說如果線程數不滿足集合點中設置的值,則在timeout中設置的時間後繼續執行不足的那些線程。
Timeout in milliseconds默認爲0。所以當timeout設置爲0,但是線程數又不滿足集合點中設置的值時,就會一直等待,不執行請求,需要手動stop。
同步定時器是在每一個採集器之前執行的,不管定時器的位置是在採集器之前還是之後,都是在採集器之前執行。
如果一個線程中存在多個採集器,同步定時器和這些採集器在同一級(同一節點下),則同時作用於這些採集器。
如果需要一個定時器單獨對應某一個採集器,可以在採集器的子節點中創建定時器。

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