loadrunner场景集合点设置

在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个:

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

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

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

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

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

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

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

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

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

集合点策略如下设置:

运行场景如下:

刚开始启动2个用户

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

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

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

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

场景设置如下:

集合点设置策略为:

刚开始启动4个用户:

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

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

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

场景设置如下:

集合点策略设置如下:

场景运行中的截图:

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

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

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

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

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

说明:

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

补充:

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

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

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

posted @ 2020-11-06 17:53  ···起风了  阅读(243)  评论(0编辑  收藏  举报