以下實驗在lr9.0進行,只進行迭代的操作,未在場景進行操作:
下側select next row(+when out of values)\右側update value on | sequential | random | unique |
each iteration | 順序取值,下一次迭代接着上次繼續取值,第一次迭代所有該參數取第一個值,下一次迭代所有該參數取第2個值,以此類推(參數列表用完,可以繼續循環重複使用參數)。 | 隨機取值,下一次迭代繼續隨機取值,第一次迭代所有該參數取第一個隨機值,下一次迭代所有該參數取另一個隨機值,以此類推(參數列表用完,可以繼續重複使用參數)。 | |
each occurrence | 順序取值,下一次函數接着上次繼續取值,第一個函數所有該參數取第一個值,下一個函數所有該參數取第2個值,以此類推(參數列表用完,可以繼續循環重複使用參數)如:每一個web_url是一個函數。 | 隨機取值,下一次函數接着上次繼續隨機取值,第一個函數所有該參數取第一個隨機值,下一個函數所有該參數取另一隨機值,以此類推(參數列表用完,可以繼續重複使用參數)如:每一個web_url是一個函數。 | |
once | n次出現、或者n次迭代都是取參數文件當中的第一個值。 | n次出現、或者n次迭代都是取參數文件當中的第一個隨機值。 | n次出現、或者n次迭代都是取參數文件當中的第一個值。與sequential+once一樣? |
each iteration+abort vuser | 順序取值,下一次迭代接着上次繼續取值,第一次迭代所有該參數取第一個值,下一次迭代所有該參數取第2個值,以此類推,如果迭代次數多於參數列表個數,會報No more unique values for this parameter in table 'keyword.dat'錯 | ||
each iteratione+continue in a cyclic manner | 順序取值,下一次迭代接着上次繼續取值,第一次迭代所有該參數取第一個值,下一次迭代所有該參數取第2個值,以此類推(參數列表用完,可以繼續循環重複使用參數)。 | ||
each iteratione+continue with last value | 順序取值,下一次迭代接着上次繼續取值,第一次迭代所有該參數取第一個值,下一次迭代所有該參數取第2個值,以此類推,如果迭代次數多於參數列表個數,會報No more unique values for this parameter in table 'keyword.dat'錯 | ||
each occurrence+abort vuser | |||
each occurrence+continue in a cyclic manner | 順序取值,下一次函數接着上次繼續取值,第一次函數所有該參數取第一個值,下一次函數所有該參數取第2個值,以此類推(參數列表用完,可以繼續循環重複使用參數)。 | ||
each occurrence+continue with last value | 順序取值,下一次函數接着上次繼續取值,第一次函數所有該參數取第一個值,下一次函數所有該參數取第2個值,以此類推,如果使用該參數的函數個數多於參數列表個數,會報No more unique values for this parameter in table 'keyword.dat'錯 |
Automatically allocate block size(自動分塊):系統自動爲參數分塊大小
自動分塊示意圖:假設一個Vuser執行完迭代需要4個值
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
A7 |
A8 |
… |
An |
An+1 |
|
Vuser1 |
Vuser2 |
… |
Vuser n |
Vuser n+1 |
1) 會按照排隊的方式分配參數
2) 塊的大小爲一個Vuser運行完畢所需要的參數
3) Vuser分到的參數不夠,將在自己分的塊中進行取值:例如:Vuser n只分到兩個參數,Vuser n會按照when out of value的方式取值,如果是Continue with last value,Vuser n 的參數取值是An,An+1,An+1,An+1,如果選擇的是Continue in a cyclic manner,Vuser n的參數取值是An,An+1,An,An+1(塊內循環)
4) Vuser n+1因爲沒有分到參數會報錯
5) 所需參數總數 塊大小 * Vuser個數(塊大小計算,Each iteration(每次迭代)則 = 迭代次數,Each occurrence(每次遇見)則 = 迭代次數 * 一次迭代出現次數)
Allocate ** values for each Vuser(分配**塊給每個Vuser):手動分塊
手動分塊示意圖:假設一個Vuser執行完迭代需要4個值,手動分塊塊大小爲3
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
A7 |
A8 |
A9 |
… |
Vuser1 |
Vuser2 |
Vuser3 |
… |
1) 會按照分塊的方式分參數
2) 塊大小爲設定大小
3) Vuser分到的參數不夠,將在自己分的塊中進行取值:例如:因爲每個Vuser需要四個參數,所以每個Vuser參數都不夠,則Vuser2爲例,如果選擇的是Continue with last value,Vuser 2的參數取值是A4,A5,A6,A6,如果選擇的是Continue in a cyclic manner,Vuser 2的參數取值是A4,A5,A6,A4(塊內循環)
4) 所需參數總數 手動分配塊大小 * Vuser個數
注:在controller設置duration的情況下,自動分塊的分塊方式有所變化,塊大小 = 我們輸入的參數總數 / Vuser的個數,其他處理方式和手動分配塊大小一致