通常我们理解的“性能测试”理解为“多用户并发测试”,但真正的并发是不存在的,为了真实的实现并发这概念,我们在需要压力的地方设置集合点,,比如登录时,在一个点一起访问
1、jmeter中的集合点通过定时器来完成
2、Synchonizing time 只作用于同一个JVM中的线程
一、添加定时点路径
二、用法
Number of Simulated Users to Group by:集合多少人后再执行请求(也就是执行的线程数)
注意:等同于设置为线程租中的线程数,一定要确保设置的值不大于它所在线程组包含的用户数。
Timeout in milliseconds:指定人数 多少秒没集合到算超时(设置延迟时间以毫秒为单位)
注意:如果设置Timeout in milliseconds为0,表示无超时时间,会一直等下去。
线程数量无法达到"Number of Simultaneous Users to Group by"中设置的值,那么Test将无限等待,除非手动终止。
三、定时器作用点
单个请求:
如果希望定时器仅应用于其中一个sampler,则把该定时器作为子节点加入,如下图
定时器仅仅对各自的请求生效,如图,login下方的定时器只生效login
多个请求同时生效:
如果你希望synchronizing timer应用于多个sampler.
如下,执行login请求和ad请求前都会执行同步定时器1、2。当执行一个sampler之前时,和sampler处于相同作用域的定时器都会被执行;
-----集合点的位置一定要在Sample(采样器)之前才能生效吗???”
在Jmeter中,timer是在sampler之前执行的。不管这个定时器的位置放在sampler之后,还是之前。当然,如果有多个timer的时候,在相同作用域下,会按上下顺序执行timer,这个就需要慎重放置timer的顺序;不过,为了更好的可读性,还是建议将timer放在对应的sampler前面 或 子节点中;
网友评论