JMeter也有像LR中的集合点,本篇就来介绍下JMeter的集合点如何去实现。
JMeter里面的集合点通过添加定时器来完成。
注意:集合点的位置一定要在Sample之前
集合点:简单来理解一下,虽然我们的“性能测试”理解为“多用户并发测试”,但真正的并发是不存在的,为了更真实的实现并发这感念,我们可以在需要压力的地方设置集合点,拿那个用户和密码的地方,每到输入用户名和密码登录的地方,所有的虚拟用户都相互之间等一等,然后,一起访问。
1.接着之前创建的脚本,右键点击 线程组---->定时器---->Synchronizing Timer
Jmeter之集合点_作用域
这样子就添加了一个“集合点”,下面来设置一下集合点。
Jmeter之集合点_性能测试_02
集合点说明:
1、Number of Simulated Users to Group by:每次释放的线程数量。如果设置为0,等同于设置为线程租中的线程数量。
2、Timeout in milliseconds: 如果设置为0,Timer将会等待线程数达到了"Number of Simultaneous Users to Group"中设置的值才释放。如果大于0,那么如果超过Timeout in milliseconds中设置的最大等待时间(毫秒为单位)后还没达到"Number of Simultaneous Users to Group"中设置的值,Timer将不再等待,释放已到达的线程。默认为0

注意事项:
1、如果设置Timeout in milliseconds为0,且线程数量无法达到"Number of Simultaneous Users to Group by"中设置的值,那么Test将无限等待,除非手动终止。
2、Synchronizing timer 仅作用于同一个JVM中的线程,所以,如果使用并发测试,确保"Number of Simultaneous Users to Group by"中设置的值不大于它所在线程组包含的用户数。
3、Synchronizing Timer是在每个sampler(采样器)之前执行的,而不是之后,不管这个定时器的位置放在sampler之后,还是之前,如下,执行HTTP请求1和HTTP请求2前都会执行同步定时器
Jmeter之集合点_并发测试_03
4、作用域:当执行一个sampler之前时,和sampler处于相同作用域的定时器都会被执行;

5、如果希望定时器仅应用于其中一个sampler,则把该定时器作为子节点加入,如下图
定时器仅仅对HTTP请求2起作用,即仅在HTTP请求2执行前执行定时器,和HTTP请求1无关
Jmeter之集合点_线程组_04