集合点的引入是为了模拟并发场景:
1、模拟多用户相同操作的并发。
2、模拟多用户不同操作的并发。(把集合点的名字改成一个就可以了)
在脚本中插入集合点
集合点只需要在脚本中插入rendezvous即可。
输入集合点的名称
我们即可得到对应的脚本
lr_rendezvous("loginx");
引号内的就是集合点的名称,当脚本在多用户运行的情况下,每次运行到这个函数都会查看一下集合点的策略来决定是等待还是继续运行。在vugen中,即一个vuser,这时谈不上并发,集合点的设置内容放在场景(controller)中设置。
【注意】当脚本中集合点函数时,场景中的集合点设置功能才能访问。否则如果脚本中没有集合点,那么场景中的集合点功能是灰色显示的。
集合在场景中的设置
打开集合点设置页面:
【说明】1、Disable VUser:这里是可以设置那些用户不受集合点的控制,可是还是会运行。
2、Disable Rendezvous:
3、Policy:设置集合点策略
集合点提供了3种策略:
①当设置的%用户到达集合点脚本继续。
②当设置的%运行用户到达集合点脚本继续。
③当多少个用户达到集合点脚本继续。
Timeout between Vusers : 超时时间是指虚拟用户和虚拟用户之间的时间差,当我们出现2个虚拟用户达到集合点的时间差超过我们的超时时间,所有集合点等待的用户释放。
超时的时长默认是30秒,我们可以根据具体的被测应用进行调整。
在脚本运行时,每个虚拟 用户达到集合点时都会检查一下集合点的策略设置,如果不满足,那么就在集合状态等待,知道集合点策略满足后,才运行下一步操作。但是可能存在虚拟
用户和虚拟用户之间达到集合点的时间会非常长,所以我们需要指定一个超时的时间,如果超过这个时间我们就不等迟到的虚拟用户了。
集合点是放在事务内还是事务外??
集合点应该放在事务外,如果事务内存在集合点,那么虚拟用户在集合点等待的过程也会被计算入事务时间,导致早进入集合点的用户的响应时间有误。
集合点放在事务之前。