LoadRunner多用戶并發操作解讀
假設存在:
數據:A、B、C
虛擬用戶:Vuser1、Vuser2、Vuser3
腳本中參數出現三次,腳本迭代三次
怎樣取下一行數據?
Sequential:順序,所有虛擬用戶按照順序讀取數據表
Random:隨機,所有虛擬用戶隨機形式讀取數據表
Unique:唯一,所有虛擬用戶每次各取一值(不重復)
什么時候訪問數據表完成數據更新?
Each iteration:每次迭代以后
Each occurrence:每次出現參數
Once:每出現一個虛擬用戶
實例:
順序
Sequential + Each iteration
第一次迭代 無論參數任何時候出現 Vuser1、Vuser2、Vuser3 取A
第二次迭代 無論參數任何時候出現 Vuser1、Vuser2、Vuser3 取B
第三次迭代 無論參數任何時候出現Vuser1、Vuser2、Vuser3 取C
Sequential + Each occurrence
第N次迭代 參數第一次出現 Vuser1、Vuser2、Vuser3 取A
第N次迭代 參數第二次出現 Vuser1、Vuser2、Vuser3 取B
第N次迭代 參數第三次出現 Vuser1、Vuser2、Vuser3 取C
Sequential + Once
第N次迭代 無論參數任何時候出現 Vuser1取A Vuser2取B Vuser3取C
隨機
Random + Each iteration
第N次迭代 無論遇到該參數多少次 Vuser1都只取A,或者B,又或者C,本次迭代不再更新
第N次迭代 無論遇到該參數多少次 Vuser2都只取A,或者B,又或者C,本次迭代不再更新
第N次迭代 無論遇到該參數多少次 Vuser3都只取A,或者B,又或者C,本次迭代不再更新
在N+1次迭代,每個Vuser重新隨機抽取數據
Random + Each occurrence
第N次迭代 第一次遇到該參數 Vuser1、Vuser2、Vuser3在A、B、C中隨機抽取一個
第N次迭代 第二次遇到該參數 Vuser1、Vuser2、Vuser3重新在A、B、C中隨機抽取一個
第N次迭代 第三次遇到該參數 Vuser1、Vuser2、Vuser3重新在A、B、C中隨機抽取一個
在N+1次迭代,每個Vuser繼續保持每遇到一次參數就重新抽取一次數據
Random + Once
第N次迭代 無論遇到該參數多少次 Vuser1都只取A,或者B,又或者C
第N次迭代 無論遇到該參數多少次 Vuser2都只取A,或者B,又或者C
第N次迭代 無論遇到該參數多少次 Vuser3都只取A,或者B,又或者C
在N+1次迭代,每個Vuser不會重新抽取數據
唯一
注意:使用該Unique類型必須注意數據表有足夠多的數。
比如Controller 中設定20 個虛擬用戶進行5 次循環,那么編號為1 的虛擬用戶取前5個數,編號為2 的虛擬用戶取6-10 的數,依次類推,這樣數據表中至少要有100個數據,否則Controller 運行過程中會返回一個錯誤。
因此以下例子在數據表中加入數據D、E、F、G、H、I。
Unique + Each iteration
第一次迭代 無論參數出現多少次 Vuser1取A Vuser2取D Vuser3取G
第二次迭代 無論參數出現多少次 Vuser1取B Vuser2取E Vuser3取H
第三次迭代 無論參數出現多少次 Vuser1取C Vuser2取F Vuser3取I
Unique + Each occurrence
第一次迭代 第一次出現該參數 Vuser1取A Vuser2取D Vuser3取G
第一次迭代 第二次出現該參數 Vuser1取B Vuser2取E Vuser3取H
第一次迭代 第三次出現該參數 Vuser1取C Vuser2取F Vuser3取I
Unique + Once
無論進行多少次迭代 無論參數任何時候出現 Vuser1取A Vuser2取B Vuser3取C
數據D、E、F、G、H、I不取
本文轉自()