JMeter並發測試(設置集合點)


集合點:讓所有請求在不滿足條件的時候處於等待狀態。

如:我集合點設置為50,那么不滿足50個請求的時候,這些請求都會集合在一起,處於等待狀態,當達到50的時候,就一起執行。從而達到並發的效果。

那么Jmeter中可以通過同步定時器 Synchronizing Timer 來完成。

 

 

 

Number  of Simulated Users to Group by:按組分組的模擬用戶數。

timeout in milliseconds:Timout的意思是等待請求多久后,不管線程數有沒有到達設置的並發數量都開始運行測試。

 

 

注:同步定時器要在請求之前設置。

場景一:線程數設置為6,集合點為3,超時為0,點擊運行。

 

 

可以看到有6個結果,此處分成了2組進行並發,每次是3個用戶。

場景二:線程數設置3,集合點設置為4,超時為0,點擊運行。

發現沒有執行請求,需要手動stop。原因:不夠並發數且超時為0

 

 

場景三:線程數設置6,集合點設置為4,超時為0,點擊運行。

發現只有4個請求,然后一直都沒有停止,需要手動stop。原因:第一組夠集合點,一起並發,第二組只有2個,不夠集合點。

 

 

場景四:線程數設置6,集合點設置為6,超時為0,點擊運行。

可以看到有6個請求。分1組執行。

 

 

 

場景五:線程數設置6,集合點設置為4,超時為5000,點擊運行。

分2組,發現先有4個請求,為第一組,5秒后,出現后2個請求,為第二組,共6個。

 

 

結論:

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。

同步定時器是在每一個采集器之前執行的,不管定時器的位置是在采集器之前還是之后,都是在采集器之前執行。

如果一個線程中存在多個采集器,同步定時器和這些采集器在同一級(同一節點下),則同時作用於這些采集器。

如果需要一個定時器單獨對應某一個采集器,可以在采集器的子節點中創建定時器。

轉載:https://www.cnblogs.com/insane-Mr-Li/p/10684190.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM