5.jmeter集合点技术

jmeter集合点实战

集合点简介

小时候早上到操场集合做早操

  • 我们怎么实现真正的并发?

    • 并发:指的是系统中正在操作业务的用户,在jmeter中,称为线程数。
    • jmeter中的各个线程(用户)在进行业务操作中的顺序存在一定的随机性。
    • 不能保证用户同一时间做同一操作,所以需要集合点
  • 集合点目的

    • 让各个线程(用户)步调一致,对系统进行加压
    • 达到模拟真实并发访问的效果
    • 比如抢购,公务员报名,抢票,只能在那个时间点可以操作

创建集合点

jmeter里面的使用的是同步定时器
图 23

注意:在jmeter中一定要注意,元件和作用域的概念
错误演示:同步定时器放在线程组中--全局范围

图 24
原计划只并发课程操作,结果全部集合并发了,5个一起,5个5个一起了
图 25

正确示范:
5个用户,一秒启动一个用户
图 27

调整位置,放到课程签到操作的请求中,同步定时器相当于前置
图 26
同一时间,集合完毕,点击课程签到按钮

集合点使用

  • 参数设置
    • Number of Simulated Users to Group by

      • a.每集合够多少个模拟用户(线程)后发起一次测试请求;
      • b.如果设置为0,等同于设置为线程组中的线程数
      • c.确保设置的值不大于它所在的线程组包含的用户数(线程数)
        一直集结线程而不发出测试请求,直到超时(如果设置了的话)
    • Time out in millisecs--所有用户的集合超时

      • a.超时时间,即多少毫秒后同时释放已集结的线程,发送测试请求
      • b.设置为0,Timer将等待线程数达到了“Number of Simulated Users to Group by”中设置的值才释放
      • c.大于0,那么如果超过Time out in millisecs中设置的最大等待时间后还没有达到“Number of Simulated Users to Group by”中设置的值,Timer将不再等待,释放已到达的线程
        场景1:
        线程组为5,集合用户数为6
        图 28
        一直不发出签到请求,一直等待
        图 29

场景2:
线程组为5,集合组用户数为2,落单一个,最后一个找不到伴,一直等
两个为一组并发,但是最后一组,找不到伴,一直等
图 30

场景3:
线程组为5,集合用户数为6,超时时间为5秒
图 31
超时后直接并发

场景4:
线程组为5,集合组用户数为2,超时时间为5秒
图 32
最后一组(落单一个)等待超时5秒后释放请求

  • 参数--注意事项:
    • 如果设置Time out in millisecs为0,且线程数无法达到“Number of Simulated Users to Group by”中设置的值,那么Test将无限等待,除非手动终止
    • 这个无法达到的情况有如下几种:
      • a.设置的值大于线程数量,这样就永远无法达到了;
      • b.最后一批线程数不够集合点数目;
原文地址:https://www.cnblogs.com/xiehuangzhijia/p/14966071.html