在loadrunner的虛擬用戶中,術語concurrent(並發)和simultaneous(同時)存在一些區別,concurrent 是指虛擬場景中參於運行的虛擬用戶。而simultaneous與集合點(rendzvous point)關系更密切,是指在同一時刻一起執行某個任務的虛擬用戶。
下面錄制一個登錄的腳本。錄制步驟:
1、打開登錄頁面
2、插入集合點
3、輸入用戶名密碼,點擊登錄按鈕
4、登錄頁面加載完成,錄制結束
當我們在不熟悉腳本的情況下,可以通過世錄制操作面板來添加集合點。
如果你非常熟悉每一段腳本代碼的作用,可以在腳本中添加:lr_rendezvous 集合點函數。
lr_rendezvous("集合點"); //添加集合點
控制器中設置集合點策略
我們在Virtual User Generator 中回放腳本無法體現集合點的作用。集合點是在多用戶並發運行的時候才能起作用。所以,我們需要把腳本導入到Controller 中進行進一步的設置。
1、打開Controller (控制器),導入錄制的腳本。
2、菜單欄 Scenario ---> Rendezvous 打開集合點設置界面
我們可以看到Vusers 列表框里有10個集合點(1~10),這里的數量和我們設置的虛擬用戶數一致。
我們可以點擊選中某個集合點,點擊“Disable VUser” 按鈕,使其不參與集合點。(某班級早晨集合跑步,A同學肚子痛,經過老師的允許不參與早晨的集合跑步。)
點擊“Policy...”來設置集合點的策略:
Release when :當所有虛擬用戶中的x % 到達集合點進釋放,即僅當指定百分比的虛擬用戶到達集合點時,才釋放虛擬用戶。
注意:此選項將會干擾場景的計划。如果選擇此選項,場景將不按計划運行。
Release when :當所有正在運行的虛擬用戶中的x %到達集合點時釋放,即僅當場景中指定百分比的、正在運行的虛擬用戶到達集合點時,才釋放虛擬用戶。
還有不在運行的虛擬用戶? 假如,設置為1分鍾啟動一個用戶,當然會存在因為用戶還沒啟動,所以無法參與集合點。
Release when : 當x 個虛擬用戶到達集合點時釋放,即僅當指定數量的虛擬用戶到達集合點時,才釋放虛擬用戶。
這個很好理解,當我用百分比不太好衡量集合點的虛擬用戶數,當然可以設置具體的用戶數。
Timeout between Vusers (虛擬用戶之間的超時)框中輸入一個超時值。
假如設置了集合10用戶並發,結果9個用戶已經集合到位,還剩1個虛擬用戶,左等右等就是等不來。那總不能一直等下去吧。設定了個時間,假如30秒還不來,那就不管它了。
超時的時長默認是30秒,我們可以根據具體的被測應用進行調整。