1. 程式人生 > >Jmeter 集合點詳細講解

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。

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

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

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