• 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.最后一批线程数不够集合点数目;
  • 相关阅读:
    Linux下编辑、编译、调试命令总结——gcc和gdb描述
    scanf函数读取缓冲区数据的问题
    Windows下设置Ubuntu引导项
    前端术语汇总笔记(会保持更新)
    实现动态加载一个 JavaScript 资源
    提取一个字符串中的数字,并将其转为数组
    CSS3图片倒影技术
    js函数聚合
    js继承函数封装
    联动菜单实现思路
  • 原文地址:https://www.cnblogs.com/xiehuangzhijia/p/14966071.html
Copyright © 2020-2023  润新知