zoukankan      html  css  js  c++  java
  • jmeter(八)Synchronizing Timer的使用

    经常说要100个并发,一千个并发,但是怎么控制这些线程是同时请求接口的?来认识一下Synchronizing Timer的使用

    定时器其实有几种,有固定定时器,有同步定时器

    一、添加集合点:

        1、右键点击线程组,选择定时器

        2、定时器中选择Synchronizing Timer

    wKioL1mjy47SWhtHAADEw3SRlI8121.png

    二、集合点说明:

        1、Number of Simulated Users to Group by:每次释放的线程数量。如果设置为0,等同于设置为线程租中的线程数量。如果是100那就是要放过去100个线程

        2、Timeout in milliseconds: 默认为0,如果设置为0,Timer将会等待线程数达到了"Number of Simultaneous Users to Group"中设置的值才释放。(如果一直没有达到,就会一直等待着,直到满足你设置的线程数)

    如果大于0,那么如果超过Timeout in milliseconds中设置的最大等待时间(毫秒为单位)后还没达到"Number of Simultaneous Users to Group"中设置的值,Timer将不再等待,释放已到达的线程。

    (也就是到了时间就放过去,不管线程数有多少,一般这么设置,是基于电脑性能高,配置足够,有确认的要求,比如每秒1000个并发,你的服务器能达到这个条件,那你就直接设置1000 下面就是1)

    注意事项:

        1、如果设置Timeout in milliseconds为0,且线程数量无法达到"Number of Simultaneous Users to Group by"中设置的值,那么Test将无限等待,除非手动终止。

        2、Synchronizing timer 仅作用于同一个JVM中的线程,所以,如果使用并发测试,确保"Number of Simultaneous Users to Group by"中设置的值不大于它所在线程组包含的用户数,如果大于你设置的线程数,需要手动stop。原因:不够并发数且超时为0。

        3、Synchronizing Timer是在每个sampler(采样器)之前执行的,而不是之后,不管这个定时器的位置放在sampler之后,还是之前,如下,执行HTTP请求1和HTTP请求2前都会执行同步定时器

    wKiom1mj1DHS0OfFAAAVhJjE8NM591.png-wh_50

        4、作用域:当执行一个sampler之前时,和sampler处于相同作用域的定时器都会被执行;

       5、如果希望定时器仅应用于其中一个sampler,则把该定时器作为子节点加入,如下图

    定时器仅仅对HTTP请求2起作用,即仅在HTTP请求2执行前执行定时器,和HTTP请求1无关

       wKioL1mj1EuxfpfwAAARD47B-_w961.png-wh_50

  • 相关阅读:
    Mac-修改hosts文件(映射IP,取代网络DNS功能)
    iOS-内购及订阅
    Win-Navicat Premium 15 Window安装激活教程(学习研究)
    iOS-KLGenerateSpamCode(记录图片配参)
    iOS-Button 图片与文字位置
    iOS-关于GCD信号量那些事儿
    Mac-MacOS降级(Mac系统降级,系统回退)
    Xcode-一些小问题(配置包路径,配置文件路径。。。)
    Mac-App Store 购买过程中出错 请求超时
    2019 工作总结(APP组)
  • 原文地址:https://www.cnblogs.com/zhangying1/p/14666134.html
Copyright © 2011-2022 走看看