集合點的意思時等到特定的使用者數後再一起執行某個操作,比如一起儲存,一起提交(我們通常意義上的併發數並不是指一起提交或者一起儲存),一般情況下使用不到集合點,不過,訂票系統或者**類需要用到,比如說某個**品的**時間在8點到8點30,這樣的話,就可能出現在8點時很多人一起提交的場景集合點函式可以幫助我們生成有效可控的併發操作。雖然在controller中多使用者負載的vuser是一起開始執行指令碼的,但是由於計算機的序列處理機制,指令碼的執行隨著時間的推移,並不能完全達到同步。這個時候需要手工的方式讓使用者在同一時間點上進行操作來測試系統併發處理的能力,而集合點函式就能實現這個功能。集合點只需要在指令碼中插入lr_rendezvous()函式即可。
開啟insert選單下的rendezvous選項,在彈出的對話方塊中輸入集合點名稱run,確定後即可得到對應的指令碼:lr_rendezvous("run");
引號內的就是集合點名稱,當指令碼在多使用者執行的情況下,每次執行到這個函式都會檢視一下集合點的策略來決定是等待還是繼續執行。
集合點應該放在事務外,如果事務內存在集合點,那麼虛擬使用者在集合點等待的過程也會被算入事務時間,導致早進入集合點的使用者的響應時間有誤。
常見的田徑比賽就是這樣,大家先集合在同一起跑線上,鳴槍後開始計時,達到終點再計時,這樣就能得到準確的事務時間;而不是將大家準備的時間也算上,如果算上準備時間,那得到的結果並不是準確的結果了。
集合點的設定內容存放在場景的設定中,當指令碼中有集合點函式時,場景中的集合點設定功能就可以訪問,如圖所示:
開啟場景選單下的集合點後,可以為集合點進行設定,包括哪些使用者使用該集合點、集合點是否有效等,如圖所示:
如果指令碼中沒有集合點,那麼場景中的scenario-rendezvous集合點功能將會是灰色顯示。
集合點策略用來設定虛擬使用者集合的方式,開啟policy對話方塊,如圖所示:
1.當百分之多少的使用者到達集合點時指令碼繼續。
2.當百分之多少的執行使用者到達集合點時指令碼繼續
3.多少個使用者到達集合點時指令碼繼續。
在場景執行時,當vuser指令碼執行到集合點函式時,該虛擬使用者會進入集合點狀態直到集合點策略滿足後才釋放。
策略1是指當全部使用者都執行到了集合點函式才釋放集合,讓這100個使用者併發執行後面的指令碼。
策略3就比較好理解了,當到達集合點的使用者數達到自己設定的數量後就釋放等待,併發執行後面的指令碼。
可以在多個指令碼上設定相同的集合點名稱來實現多個指令碼同時併發的效果。
在指令碼執行時,每個虛擬使用者到達集合點時都會去檢查一下集合點的策略設定,如果不滿足,那麼就在集合狀態等待,直到集合點策略滿足後,才執行下一步操作。但是可能存在前乙個虛擬使用者和後乙個虛擬使用者達到集合點的時間間隔非常長的情況,所以需要指定乙個超時的時間,如果超過這個時間就不等待遲到的虛擬使用者了。
超時時間是指虛擬使用者之間的時間差,當出現兩個虛擬使用者到達集合點的時間差超過設定的超時時間時,所有在集合點處於等待狀態中的使用者將全部釋放。
loadrunner 集合點設定
場景設計 集合點設定 by 授客qq 1033553122 1 作用 通過讓多使用者在同一時間點上進行併發操作來測試系統的併發處理的能力 2 實現 通過集合點函式來實現。注意 集合點經常和事務結合起來使用。集合點只能插入到 action 部分,vuser init 和 vuser end 中不能插入...
Jmeter基礎 集合點
簡單理解一下,雖然 效能測試 理解為 多使用者併發測試 但真正的併發是不存在的,為了更真實的實現併發這感念,我們可以在需要壓力的地方設定集合點,到達設定的集合數時,再同時發起請求,達到併發的目的。這裡要注意乙個點的就是作用域及執行順序 執行順序 配置元件 前置 定時器 sampler 後置 斷言 如...
Jmeter集合點設定
number of simulated users to groupby 每次釋放的執行緒數量。如果設定為0,等同於設定為執行緒租中的執行緒數量。1 如果執行緒組中的執行緒數為2,而這個number of simulated users to groupby設定成3,timeout in milli...