(九)并发测试

一、lr_rendezvous【集合点】

int lr_rendezvous( const char *rendezvous_name); 
  • The lr_rendezvous function creates a rendezvous point in a Vuser script. When this statement is executed, the Vuser program stops and waits for permission from LoadRunner to continue.
    (当VU执行到该句后并不向下继续执行,直到所有的VG都执行到该句时(聚集到该地),才一起(并发)执行)
  • This function can only be used in action section, and not in vuser_init or vuser_end.
  • The difference between lr_rendezvous and lr_rendezvous_ex is that lr_rendezvous always returns zero.
  • 录完脚本插入集合点:在要插入集合点的位置焦点,然后Insert—>Rendezvous。

二、并发测试两个条件

  • 脚本中加入集合点
    ① 注意:脚本中添加代码(修改代码)后,要运行(或编译)下,看是否有错。
    ②集合点设置位置:将集合点设置在事务前面。若将集合点设置在事务内,loadrunner在计算事务的响应时间时,会将事务运行时在集合点的等待时间也计算在内,导致事务响应时间比实际时间长。所以,集合点正确的设置位置应该是事务开始的前面。
  • 控制台中设置集合点策略(只要多用户才有并发)
  • think-time:忽略
    并发测试是测试瞬间的压力,所以忽略思考时间即可。

  • Pacing:默认即可。因为在Action只有1次迭代情况下,不用考虑迭代之间的时间

    三、Controller—>Rendezous—>Policy

  • Release when X% of all Vusers arrive at the Rendezous:当X%的虚拟用户到达(这是好确定的,到达就是达到,未到就是未到),开始并发执行

  • Release when X% of all running Vusers arrive at the Rendezous:当X%的运行虚拟用户到达,开始并发执行
      还有不在运行的虚拟用户? 假如,设置为30s启动一个用户,当然会存在因为用户还没启动,所以无法参与集合点。
      比如100个虚拟用户,20个在运行中(运行中数目难确定),则50%的运行虚拟用户到达集合点,所以为10个
  • Release when X Vusers arrive at the Rendezous:当X 个虚拟用户到达,开始并发执行
  • Timeout between Vusers: X sec.
    当一个虚拟用户到达集合点时,LR等待超时时间迎接下一个虚拟用户到达集合点。如果下一个虚拟用户没在超时时间到达,Controller就会让当前已经到达的虚拟用户并发执行,不考虑是否满足并发条件;若下一个虚拟用户在超时时间到达,则会将超时时间清零,再用超时时间等待下一个虚拟用户。
    举例:
      假如设置了集合10用户并发,结果9个用户已经集合到位,还剩1个虚拟用户,左等右等就是等不来。那总不能一直等下去吧。设定了个时间,假如30秒还不来,那就不管它了。
      
    一般选择Release when X% of all Vusers arrive at the Rendezous,因为比较可控,第二个用户到达不一定运行,由操作系统的线程和进程控制,不可控。

    四、设置Controller—>Run-time Settings –>Think Time 中选择Ignore think time
    因为并发测试是考察系统的瞬间压力承受能力,是比较严格的测试,所以不需要等待时间。
    注意不同的测试用的think time 是不同的,不能一致考虑。

五、一个脚本一般只加入一个集合点
比如一个脚本录制的是一个流程(包含多个操作),若在每个事务前都添加一个集合点,该做法在语法角度没有错误,但是如果脚本运行结果有问题(多用户并发,难免会有问题)、并发点性能调优等比较麻烦。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值