Jmeter同步定时器

同步定时器(Synchronizing Timer)目的是阻塞线程,直到有xx个线程被阻塞,然后立即释放它们(集合点)

组件路径:线程组->右键添加->定时器->Synchronizing Timer

 

1.同步定时器的两个参数

  • 模拟用户组的数量:即指定同时释放的线程数量
  • 超时时间(毫秒):

超时时间=0,则定时器会等待线程数达到“模拟用户组的数量”的值时释放线程;(如果不确定线程数能达到要求数量,则不建议设置超时时间=0。因为当线程数一直达不到“模拟用户组的数量”的值时,线程将会无限等待不会停止,只有手工强制停止才能停止)

超时时间>0,则定时器将等待线程数的最大“超时时间”,如果超过该超时时间,定时器将停止等待释放线程;

2、 同步定时器的应用

2.1 测试计划下存在2个线程组里面各2个请求,线程组1设置线程数=2,线程组2设置线程数=3。最终线程数数量=2*2+2*3=10

2.2 测试计划下添加一个固定定时器(这里主要用来模拟等待指定线程数一起释放的效果)和同步定时器。

超时时间>0,如下同步定时器会等待3个线程再一起释放,也就是10个线程里会依次释放线程数为3个、3个、3个、1个(最后1个线程达不到“模拟用户组的数量”的值,所以是等待7s后超时再将这1个线程释放)

   

2.3 执行结果确实是依次释放线程数为3个、3个、3个、1个

2.4  超时时间=0

线程数总数量只有10个,同步定时器设置等待3个线程再一起释放。那么第4次是永远也等不到满足3个线程的条件,如果超时时间=0将会导致脚本无限等待不会停止,只能人工强制结束

 

posted @ 2022-06-13 14:24  dabeen  阅读(2657)  评论(0)    收藏  举报