在性能測試過程中,為了保證數(shù)據(jù)插入的正確性,一般我們使用如下三種取值和更新值的設(shè)置:

  1. Random+Once
  2. Unique+Each iteration
  3. Unique+Once

那么其他不同參數(shù)取值和更新值的組合具體如何使用呢?我們通過下面的例子來進(jìn)行說明。

例如存在數(shù)據(jù):A、B、C

并發(fā)虛擬用戶:Vuser1、Vuser2、Vuser3

腳本中參數(shù)出現(xiàn)三次,腳本迭代三次

注意: Controller里面的Runtime setting 的設(shè)置是優(yōu)先于 VuGen里面的Runtime setting。

1、怎樣取下一行數(shù)據(jù)?

Sequential:順序,所有虛擬用戶按照順序讀取數(shù)據(jù)表 ;

Random:隨機(jī),所有虛擬用戶隨機(jī)形式讀取數(shù)據(jù)表 ;

Unique:唯一,所有虛擬用戶每次各取一值(不重復(fù)) 。

2、什么時候訪問數(shù)據(jù)表完成數(shù)據(jù)更新?

Each iteration:每次迭代以后 ;

Each occurrence:每次出現(xiàn)參數(shù) ;

Once:每出現(xiàn)一個虛擬用戶 。

----------------------------------------------

實(shí)例:

順序

Sequential + Each iteration

第一次迭代 無論參數(shù)任何時候出現(xiàn) Vuser1、Vuser2、Vuser3 取A

第二次迭代 無論參數(shù)任何時候出現(xiàn) Vuser1、Vuser2、Vuser3 取B

第三次迭代 無論參數(shù)任何時候出現(xiàn) Vuser1、Vuser2、Vuser3 取C

Sequential + Each occurrence

第N次迭代 參數(shù)第一次出現(xiàn) Vuser1、Vuser2、Vuser3 取A

第N次迭代 參數(shù)第二次出現(xiàn) Vuser1、Vuser2、Vuser3 取B

第N次迭代 參數(shù)第三次出現(xiàn) Vuser1、Vuser2、Vuser3 取C

Sequential + Once

第N次迭代 無論參數(shù)任何時候出現(xiàn) Vuser1取A Vuser2取B Vuser3取C

隨機(jī)

Random + Each iteration

第N次迭代 無論遇到該參數(shù)多少次 Vuser1都只取A,或者B,又或者C,本次迭代不再更新

第N次迭代 無論遇到該參數(shù)多少次 Vuser2都只取A,或者B,又或者C,本次迭代不再更新

第N次迭代 無論遇到該參數(shù)多少次 Vuser3都只取A,或者B,又或者C,本次迭代不再更新

在N+1次迭代,每個Vuser重新隨機(jī)抽取數(shù)據(jù)

Random + Each occurrence

第N次迭代 第一次遇到該參數(shù) Vuser1、Vuser2、Vuser3在A、B、C中隨機(jī)抽取一個

第N次迭代 第二次遇到該參數(shù) Vuser1、Vuser2、Vuser3重新在A、B、C中隨機(jī)抽取一個

第N次迭代 第三次遇到該參數(shù) Vuser1、Vuser2、Vuser3重新在A、B、C中隨機(jī)抽取一個

在N+1次迭代,每個Vuser繼續(xù)保持每遇到一次參數(shù)就重新抽取一次數(shù)據(jù)

Random + Once

第N次迭代 無論遇到該參數(shù)多少次 Vuser1都只取A,或者B,又或者C

第N次迭代 無論遇到該參數(shù)多少次 Vuser2都只取A,或者B,又或者C

第N次迭代 無論遇到該參數(shù)多少次 Vuser3都只取A,或者B,又或者C

在N+1次迭代,每個Vuser不會重新抽取數(shù)據(jù)

唯一

注意:使用該Unique類型必須注意數(shù)據(jù)表有足夠多的數(shù)。

比如Controller 中設(shè)定20 個虛擬用戶進(jìn)行3 次循環(huán),那么編號為1 的虛擬用戶取前3個數(shù),編號為2 的虛擬用戶取4-6 的數(shù),依次類推,這樣數(shù)據(jù)表中至少要60個數(shù)據(jù),否則Controller 運(yùn)行過程中會返回一個錯誤。

因此以下例子在數(shù)據(jù)表中加入數(shù)據(jù)D、E、F、G、H、I。

Unique + Each iteration

第一次迭代 無論參數(shù)出現(xiàn)多少次 Vuser1取A Vuser2取D Vuser3取G

第二次迭代 無論參數(shù)出現(xiàn)多少次 Vuser1取B Vuser2取E Vuser3取H

第三次迭代 無論參數(shù)出現(xiàn)多少次 Vuser1取C Vuser2取F Vuser3取I

Unique + Each occurrence

第一次迭代 第一次出現(xiàn)該參數(shù) Vuser1取A Vuser2取D Vuser3取G

第一次迭代 第二次出現(xiàn)該參數(shù) Vuser1取B Vuser2取E Vuser3取H

第一次迭代 第三次出現(xiàn)該參數(shù) Vuser1取C Vuser2取F Vuser3取I

Unique + Once

無論進(jìn)行多少次迭代,無論參數(shù)任何時候出現(xiàn) ,Vuser1取A, Vuser2取B ,Vuser3取C ,數(shù)據(jù)D、E、F、G、H、I不取。