jmeter如何设置集合点
集合点:
简单来理解一下,虽然我们的“性能测试”理解为“多用户并发测试”,但真正的并发是不存在的,为了更真实的实现并发这感念,我们可以在需要压力的地方设置集合点,每到输入用户名和密码登录时,所有的虚拟用户都相互之间等一等,然后,一起访问。
在Jmeter中怎样添加集合点?
(1)在线程组中右击选择添加-定时器-Synchronizing timer,如图:
(2)各项参数含义如下
名称:自定义名称
Number of Simulated Users to Group by:每次释放的线程数量。如果设置为0,等同于设置为线程租中的线程数量。
Timeout in milliseconds:默认为0
a. 如果设置为0,Timer将会等待线程数达到了"Number of Simultaneous Users to Group"中设置的值才释放。
b. 如果大于0,那么如果超过Timeout in milliseconds中设置的最大等待时间(毫秒为单位)后还没达到"Number of Simultaneous Users to Group"中设置的值,Timer将不再等待,释放已到达的线程。
注意:
a. 如果设置Timeout in milliseconds为0,且线程数量无法达到"Number of Simultaneous Users to Group by"中设置的值,那么Test将无限等待,除非手动终止。如果设置为0 的话,最好是集合数与线程数为整数倍的关系。
b. Synchronizing timer仅作用于同一个JVM中的线程,所以,如果使用并发测试,确保"Number of Simultaneous Users to Group by"中设置的值不大于它所在线程组包含的用户数。
c.还有一个注意点就是,作用域及执行顺序
执行顺序:配置元件->前置->定时器->sampler->后置->断言->监听器。
作用域:
a. 当执行一个sampler之前时,和sampler处于相同作用域的定时器都会被执行;
b. 如果希望定时器仅应用于其中一个sampler,则把该定时器作为子节点加入,定时器仅仅对红框内的HTTPs请求起作用,即仅在红框的的请求执行定时器,和上个请求无关
(2)这里想实现50个用户同时进行登录,仅作用于登录请求,所以要放在登陆的sample子节点中,按住alt移动设置即可。设置完毕如下: