1. 程式人生 > >【筆記】LR集合點

【筆記】LR集合點

image 多用戶 timeout gen 引入 size 9.png 們的 之前

集合點的引入是為了模擬並發場景:

1、模擬多用戶相同操作的並發。

2、模擬多用戶不同操作的並發。(把集合點的名字改成一個就可以了)

在腳本中插入集合點

集合點只需要在腳本中插入rendezvous即可。

技術分享圖片

輸入集合點的名稱

技術分享圖片

我們即可得到對應的腳本

lr_rendezvous("loginx");

引號內的就是集合點的名稱,當腳本在多用戶運行的情況下,每次運行到這個函數都會查看一下集合點的策略來決定是等待還是繼續運行。在vugen中,即一個vuser,這時談不上並發,集合點的設置內容放在場景(controller)中設置。

【註意】當腳本中集合點函數時,場景中的集合點設置功能才能訪問。否則如果腳本中沒有集合點,那麽場景中的集合點功能是灰色顯示的。

集合在場景中的設置

技術分享圖片

打開集合點設置頁面:

技術分享圖片

【說明】1、Disable VUser:這裏是可以設置那些用戶不受集合點的控制,可是還是會運行。

2、Disable Rendezvous:

3、Policy:設置集合點策略

技術分享圖片

集合點提供了3種策略:

①當設置的%用戶到達集合點腳本繼續。

②當設置的%運行用戶到達集合點腳本繼續。

③當多少個用戶達到集合點腳本繼續。

Timeout between Vusers : 超時時間是指虛擬用戶和虛擬用戶之間的時間差,當我們出現2個虛擬用戶達到集合點的時間差超過我們的超時時間,所有集合點等待的用戶釋放。

在腳本運行時,每個虛擬 用戶達到集合點時都會檢查一下集合點的策略設置,如果不滿足,那麽就在集合狀態等待,知道集合點策略滿足後,才運行下一步操作。但是可能存在虛擬

用戶和虛擬用戶之間達到集合點的時間會非常長,所以我們需要指定一個超時的時間,如果超過這個時間我們就不等遲到的虛擬用戶了。

集合點是放在事務內還是事務外??

集合點應該放在事務外,如果事務內存在集合點,那麽虛擬用戶在集合點等待的過程也會被計算入事務時間,導致早進入集合點的用戶的響應時間有誤。

集合點放在事務之前。

【筆記】LR集合點