jmeter集合点使用方法:Synchronizing Timer

LR中集合点可以设置多个虚拟用户等待到一个点,同时触发一个事务,以达到模拟真实环境下多个用户同时操作,实现性能测试的最终目的。

jmeter中使用Synchronizing Timer实现Lr中集合点的功能,模拟多用户并发测试,即多个线程在同一时刻并发请求。

jmeter中使用集合点的方法:Synchronizing Timer

将测试元件Synchronizing Timer添加到请求之前或某个Sampler的子节点,右键菜单依次选择“添加–>定时器/Timer–>Synchronizing Timer”

Number of Simulated users to Group by: 集合点集合够N个用户开始并发

1、增加几个调试sample

 

2、增加定时器

 

 

3、配置定时器

 

 

4、运行结果,发送请求都是100的执行,很集中的执行

 

 6、将定时器关闭运行,发现请求都是零零散散的。

 

 

 

 

 

7、移动到其他位置执行,发现只要在该线程组下,都是作用于该线程组下所有请求线程。如下图

 

 

 

 

8、移动到子节点下面是什么情况呢,从下面的数据发现是作用于该父类节点的sampler

 

 

 

下面是网上找来的说明:

注:

1.把SynchronizingTimer放置于请求之前,通常Jmeter按树状结构顺序执行

2.说明:

名称:自定义名称

 

Number of Simulated Users to Groupby:每次释放的线程数量。如果设置为0,等同于设置为线程租中的线程数量。

 

Timeout in milliseconds:

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

 

【注意】:

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

 

Synchronizing timer 仅作用于同一个JVM中的线程,所以,如果使用并发测试,确保"Number of Simultaneous Users toGroup by"中设置的值不大于它所在线程组包含的用户数。

 

(原文:Synchronizing timer blocks only within one JVM, soif using Distributed testing ensure you never set "Number ofSimultaneous Users to Group by" to a value superior to the numberof users of its containing Thread group considering 1 injectoronly)

 

2、如上,添加相关请求,结果树等,进行必要设置后,运行查看效果

通过结果树可以看到,请求是批量执行的

原文地址:https://www.cnblogs.com/insane-Mr-Li/p/10774022.html