在​loadrunner​的虚拟用户中,术语concurrent(并发)和simultaneous(同时)存在一些区别,concurrent 是指虚拟场景中参于运行的虚拟用户。

  而simultaneous与集合点(rendzvous point)关系更密切,是指在同一时刻一起执行某个任务的虚拟用户。

  1、下面以登录脚本为例,进行演示:

Action()


{


//添加集合点,场景中如果想使用集合点策略,脚本中必须要添加集合点

lr_rendezvous("登录集合点");

//添加登录事务

lr_start_transaction("登录");


//登录

web_custom_request("login",

    "URL=http://********:8080/mobile/api/user/login ",

    "Method=POST",

    "TargetFrame=",

    "Resource=1",

    "Referer=",

    "Mode=HTTP",

    "EncType=application/json ",

    "Body={\"mobile\":\"131********\",\"password\":\"123456\"}",

    LAST);        


lr_end_transaction("登录", LR_AUTO); 

return 0;

}

  2、打开Controller,设置虚拟用户数10个:

LoadRunner场景集合点设置_性能测试工具​​LoadRunner场景集合点设置_loadrunner_02

  3、点击菜单中的“scenario”的选项菜单。

LoadRunner场景集合点设置_性能测试工具_03

  4、下拉菜单中选择“rendezvous”的选项即可。

LoadRunner场景集合点设置_性能测试工具_04

  5、我们可以看到Vusers 列表框里有10个集合点(1~10),这里的数量和我们设置的虚拟用户数一致。

LoadRunner场景集合点设置_性能测试工具_05

  可以点击选中某个集合点,点击“Disable VUser” 按钮,使其不参与集合点。

  6、点击“Policy...”来设置集合点的策略:

  下面来看看这三种策略的含义:

  1)、Release when :当所有虚拟用户中的x % 到达集合点进释放,即仅当指定百分比的虚拟用户到达集合点时,才释放虚拟用户。

  注意:此选项将会干扰场景的计划。如果选择此选项,场景将不按计划运行。

  例如:场景设置如下,10个用户,每30秒启动2个用户:

LoadRunner场景集合点设置_性能测试工具_06

  集合点策略如下设置:

LoadRunner场景集合点设置_性能测试工具_07

  运行场景如下:

  刚开始启动2个用户


LoadRunner场景集合点设置_性能测试工具_08

  当用户数为4个时,开始运行

LoadRunner场景集合点设置_性能测试工具_09

  当集合点不足4个时,就等待:

LoadRunner场景集合点设置_loadrunner_10​​LoadRunner场景集合点设置_性能测试工具_11

  2)、Release when :当所有正在运行的虚拟用户中的x %到达集合点时释放,即仅当场景中指定百分比的、正在运行的虚拟用户到达集合点时,才释放虚拟用户。

  还有不在运行的虚拟用户? 假如,设置为1分钟启动一个用户,当然会存在因为用户还没启动,所以无法参与集合点。

  场景设置如下:

LoadRunner场景集合点设置_loadrunner_12

  集合点设置策略为:

LoadRunner场景集合点设置_性能测试工具_13

  刚开始启动4个用户:

LoadRunner场景集合点设置_loadrunner_14

  集合点不足50%时,就等待:

LoadRunner场景集合点设置_loadrunner_15​​LoadRunner场景集合点设置_性能测试工具_16​​LoadRunner场景集合点设置_性能测试工具_17​​LoadRunner场景集合点设置_loadrunner_18

  3)、Release when : 当x 个虚拟用户到达集合点时释放,即仅当指定数量的虚拟用户到达集合点时,才释放虚拟用户。

  这个很好理解,当我用百分比不太好衡量集合点的虚拟用户数,当然可以设置具体的用户数。

  场景设置如下:

LoadRunner场景集合点设置_loadrunner_19

  集合点策略设置如下:

LoadRunner场景集合点设置_性能测试工具_20

  场景运行中的截图:

  初始化4个用户,都到达集合点

LoadRunner场景集合点设置_性能测试工具_21

  等待第六个用户到达集合点

LoadRunner场景集合点设置_loadrunner_22​​LoadRunner场景集合点设置_性能测试工具_23

  4)、Timeout between Vusers (虚拟用户之间的超时)框中输入一个超时值。

  假如设置了集合10用户并发,结果9个用户已经集合到位,还剩1个虚拟用户,左等右等就是等不来。那总不能一直等下去吧。设定了个时间,假如30秒还不来,那就不管它了。

  超时的时长默认是30秒,我们可以根据具体的被测应用进行调整。

  说明:

  实际工作中,除了​测试​秒杀和模拟瞬间的并发,其他情况下用集合点的很少。

  补充:

  如果一台负载机不足时,还可以添加多台,只需在其他服务器上安装loadrunner的Controller即可,添加方式如下:

LoadRunner场景集合点设置_loadrunner_24​​LoadRunner场景集合点设置_性能测试工具_25

  点击Add后,输入一下信息即可添加成功:

  添加完成后,就可选择了。


文章转载:​​http://www.51testing.com/html/62/n-4475662.html​