前两节讲了并行控制器,在其下的子元素都会启动一个线程同时执行。除了这个方法外,jmeter中还有一个同步定时器Synchronizing Timer,以前在loadrunner中可以称之为集合点,可以指定多个线程同时执行某一请求。简单点理解就是,如果您想让多个人同时执行一个请求,在这个请求前面加上一个Synchronizing Timer,它会等待您指定的人都到齐了一起出发。
比如说访问我的博客这个请求,线程组中number of threads设置为2,在不添加同步定时器的情况下执行
两个人出发的时间稍有差异
如果在前面加一个同步定时器,右击线程组Add》Timer》Synchronizing Timer
执行后的结果如下,可见两个人的开始时间完全一致,所谓的严格意义上的并发
再来看下同步定时器中的两个选项设置
Number of Simulated users to group by:集合人数,比如线程组设置10个人,集合人数设置5个,即只要集合5个就同时出发。默认0,等待所有人集合才出发
timeout in milliseconds:超时时间,单位毫秒。即集合人数在设置的超时时间内未集合完毕,不管了,集合多少就往下走。默认0,没有超时时间
第一种,设置线程组人10,集合人数5
第二种,设置线程组人数10,超时时间设置1
第三种,设置线程组人数10,集合人数和超时为0
第4中,设置线程组人数10,集合人数11 ,超时为1秒