1. select next row(下一值取值方式)
l Sequential(顺序):Vuser按照顺序从数据表中取值,每次当Vuser访问数据表,都返回下一个可用的数据,如果没有足够的数据,VuGen将从数据表的第一行重新开始取值。这种方式强调虚拟用户的一致性,每个用户运行到该点取值是一致的
l Random(随机)
每次Vuser访问数据表时都分配一个随机的值
l Unique(唯一)
唯一的数,为每个Vuser的参数分配唯一的值。与sequential相比,Unique强调的是用户间的差异性,每个用户取到的参数都不一致
2. Update value on(更新方式)
l Each iteration:每次迭代都取一个新的值,如果在脚本的一次迭代中,该参数出现两次也只取同一个值
l Each occurrence:每次遇到参数都取一个新值,如果在脚本的一次迭代中,该参数出现两次,那么两次都取不同的值
l Once:在一个Vuser中参数都取相同的值(不管几次迭代)
3. 组合取值说明表
参数取值和更新方式列表 |
||||
update method |
数据分配方法 |
|||
sequential(顺序) |
random(随机) |
unique(唯一) |
||
Each iteration |
对于每一次迭代,Vuser都从数据表中取下一个值 |
对于每一次迭代,Vuser都从数据表里取一个新的随机值 |
对于每一次迭代,Vuser都会从数据表里取下一个唯一值 |
|
Each occurrence |
即使在一次迭代中,每次遇到参数,Vuser都会从数据表中取下一个值 |
即使在一次迭代中,每次遇到参数,Vuser都会从数据表中取一个新的随机值 |
即使在一次迭代中,每次遇到参数,Vuser都会从数据表中取一个新的唯一值 |
|
once |
对于每个Vuser,第一次迭代分配的值和接下来的迭代取相同的值 |
对于每个Vuser,第一次迭代分配的随机值和接下来迭代取相同的值 |
对于每个Vuser,第一次迭代分配的唯一值和接下来的迭代取相同的值 |
|
4. Unique参数取值说明
Select next row = unique需要选下面两个内容
l When out of value(当数据表的值不够的时候所做操作)
Abort user(中止运行):停止运行
Continue with last value(取最后一个值):Vuser取最后一个值
Continue in a cyclic manner(循环取值):Vuser从属于他的数据表中的第一个取值开始循环取值
l Allocate Vusers value in the Controller(为Vuser分配参数块)
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的个数,其他处理方式和手动分配块大小一致