Loadrunner:集合点(Rendezvous)

  集合点:等到特定的用户数后再一起执行某个操作,比如一起登录、一起发信,一般情况下使用不到集合点,不过,订票系统或者促销类需要用到,比如说某个促销品的促销时间在8点到8点30,这样的话,就可能出现在8点时很多人一起提交的场景。

1、Virtual User Generator

  1)使用Insert->Rendezvous添加集合点,添加后的结果是:lr_rendezvous("test");

  2)集合点应该放在事务外,如果事务内存在集合点,那么虚拟用户在集合点等待的过程也会被计算入事务时间,导致早进入集合点的用户的响应时间有误。

  3)集合点只能插入到Action 部分,vuser_init和vuser_end中不能插入集合点。

2、Controler

  Loadrunner:集合点(Rendezvous)  ==>>Loadrunner:集合点(Rendezvous)

  集合点策略理解:

  集合点提供了以下3种策略:

  A.当百分之多少的用户到达集合点时脚本继续。

  B.当百分之多少的运行用户到达集合点时脚本继续。

  C.多少个用户到达集合点时脚本继续。

  这3个策略的区别在于:假设脚本由100个用户来运行,但100个用户并不是一开始就共同运行的。假设每隔1分钟添加10个用户,也就是说10分钟后系统才有100个在线用户。这里100就是指系统访问的所有用户数,而不同时间的在线用户数是不同的。设置的集合点策略百分比均为100%。在场景运行时,当Vuser脚本运行到集合点函数时,该虚拟用户会进入集合点状态直到集合点策略满足后才释放。

  【一分钟添加10个用户,10分钟,设置为100%】

  策略1是指当全部用户都运行到了集合点函数才释放集合,让这100个用户并发运行后面的脚本。

  策略2是指当前时间如果只有10个用户在线,那么只需要这10个用户都运行到了集合点函数就释放集合,让这10个用户并发运行后面的脚本。

  策略3就比较好理解了,当到达集合点的用户数达到自己设置的数量后就释放等待,并发运行后面的脚本。

  可以在多个脚本上设置相同的集合点名称来实现多个脚本同时并发的效果。集合点超时在脚本运行时,每个虚拟用户到达集合点时都会去检查一下集合点的策略设置,如果不满足,那么就在集合状态等待,直到集合点策略满足后,才运行下一步操作。但是可能存在前一个虚拟用户和后一个虚拟用户达到集合点的时间间隔非常长的情况,所以需要指定一个超时的时间,如果超过这个时间就不等待迟到的虚拟用户了。超时时间是指虚拟用户之间的时间差,当出现两个虚拟用户到达集合点的时间差超过设定的超时时间时,所有在集合点处于等待状态中的用户将全部释放。集合点和事务集合点应该放在事务外,如果事务内存在集合点,那么虚拟用户在集合点等待的过程也会被算入事务时间,导致早进入集合点的用户的响应时间有误。常见的田径比赛就是这样,大家先集合在同一起跑线上,鸣枪后开始计时,达到终点再计时,这样就能得到准确的事务时间。

摘自:http://blog.csdn.net/richnaly/article/details/7967364

上一篇:Your stream was neither an OLE2 stream, nor an OOXML stream.问题的解决


下一篇:SpringBoot2.0之四 简单整合MyBatis