LR12集合点设置和多个负载生成器策略

时间:2022-07-01 20:45:44

今天给大家分享几个有关LR12的Controller使用过程中的几个常用问题:

一,脚本中添加集合点函数---lr_rendezvous

1,在被测接口事物函数之前加入集合点函数--lr_rendezvous,鼠标右键。

选择【insert】→【rendezvous】

LR12集合点设置和多个负载生成器策略

2,保存脚本,打开Controller,打开已保存的脚本,在Controller设置集合点策略;

3,这时常见的情况就是controller的Scenario菜单中集合点菜单项被置灰,无法进行设置。

LR12集合点设置和多个负载生成器策略

这种情况可能是如下原因导致的:

1). 脚本中没有添加集合点,就是说脚本中没有集合点对应的语句:

lr_rendezvous("rendezvous_name_xxx"); 这种问题,在脚本中添加上就好了,添加后记得保存脚本,然后再controller中重新打开脚本。

2). 或者脚本中添加了集合点,但是controller中加载的是旧脚本,旧脚本中没有,导致无法设置,这种情况,跟前边类似,脚本保存一下,controller中重新打开脚本就行了。

3). 若不是脚本问题,则可能是虚拟用户分配模式导致的,若在创建场景时选择面向目标场景,或者手工场景、百分比用户分配模式,会导致集合点无法设置。

那么这个时候,我们选择手工场景、非百分比模式分配用户数就可以了。

解决方案如下:

LR12集合点设置和多个负载生成器策略

LR12集合点设置和多个负载生成器策略

LR12集合点设置和多个负载生成器策略

4,开始设置集合点,有如下几种策略:

LR12集合点设置和多个负载生成器策略

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

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

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

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

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

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

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

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

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

二,如何设置多个负载生成器

1, 打开load generator,如图所示默认已添加了我们本地的Generator;点击“Add...”添加其他负载机:输入负载机的IP地址,点击“OK”即添加成功。

LR12集合点设置和多个负载生成器策略

2,添加负载机,为了成功连接负载机,还要到负载机中启动Agent Configuration;

LR12集合点设置和多个负载生成器策略

LR12集合点设置和多个负载生成器策略

这样集合点和多台负载机已经设置完毕,接下来可以设置并发,跑性能测试场景了。