尝试在200个Vuser中模拟200个用户登录:
选择取值配置为:Unique+each iteration (若配置200个vuser,且没有迭代,则不需要考虑update value on 中的配置)
注:选择Unique需要提供足够的参数值
转:http://www.51testing.com/html/44/108344-232540.html
elect next row:
不同Vuser之间的取值方式
Sequential:每个Vuser均是顺序取值
Random:每个Vuser均是随机取值
Unique:每个Vuser取值不能相同
Update value on:
取值更新方式
Each occurrence:每次出现更新
Each iteration:每次迭代更新 ,
(但这个迭代其实只针对Run-time Settings中,选项Run Logic的Run的Iterations,对Run中的Block是不起作用的。也就是说,当Run迭代了10次,同时Run中的Block0也迭代 10次的时候,每Run一次,会更新一个参数值,而Block0迭代10次时都使用这个参数值,不会再去更新参数值了。也可以这样理解,每一个Block 其实相当于我们自己在脚本里面写一个for循环,去循环调用Block中的Action,此时Each iteration当然只对Run有效。)
Once:在所有迭代中只取一个值保持不变。 如果在一个脚本中该参数只出现一次,则Each occurrence和Each iteration是相同的。
Allocate Vuser values in the Controller:
该选项为select next row选择Unique时所特有的。
选项1:LoadRunner为每个vuser自动分配参数值。如果采用这种方式,
假设在场景运行时设置迭代次数为2,
则
第一个Vuser使用参数中的前1,2个,
第二个Vuser使用参数中的前3,4个,
第三个Vuser使用参数中的前5,6个...以此类推。
选项2 :手工设定分配参数值。假设分配n个值给每个Vuser,
则
第一个Vuser使用参数中的前1-n个,
第二个Vuser使用参数中的n+1-2n个,
第三个Vuser使用参数中的前2n+1-3n个...以此类推。
select next row和Update value on这两个选项是两个描述不同维度的设置,select next row是描述不同Vuser第一次取值时彼此之间的作用关系。Update value on是描述在一个Vuser里不同迭代里面的取值关系。这
两个选项的不同的搭配可以组合出多种参数取值方式,用来满足不同的业务需求。
假设某参数有1.2.3.4.5.6.7.8.9.10这10个备选值,
场景设置为运行3个Vuser,
迭代次数为2,
现对不同搭配做比较: S
equential+ Each iteration:这种方式最常用,表示每个Vuser都是顺序取值,每次迭代更新。
运行后取值如下:
Vuser1: 1,2
Vuser2: 1,2
Vuser3: 1,2
Sequential+ Once:这种方式表示表示每个Vuser都是顺序取值,每次迭代取值不变,
运行后取值如下:
Vuser1: 1,1
Vuser2: 1,1
Vuser3: 1,1
Unique+Once:表示每个Vuser彼此之间各不相同,但是每个Vuser在每次迭代中值保持不变。在测试存款性能的时候,由于在实际业务中不存在两个人同时向同一个账户存钱的可能,所以对存款账号的参数化就可以采用这种方式,保证不同的用户操作不同的账号,不会在一个账号上有并发产生,
运行后取值如下:
Vuser1: 1,1
Vuser: 2,2
Vuser3: 3,3