Jmeter模块详解(8)定时器

目录

固定定时器Constant Timer(迭代间隔)

同步定时器Synchronizing Timer(集合点)

常数吞吐量定时器Constant Throughput Timer(请求限流)

准确吞吐量定时器Precise Throughput Timer(请求限流)


 

定时器是在每个sampler之前执行的,无论定时器位置在sampler之前还是下面;

当执行一个sampler之前时,所有当前作用域内的定时器都会被执行;

如果需要定时器只对其中一个sampler生效,则需要将定时器作为子节点加入;

 

固定定时器Constant Timer(迭代间隔)

用来控制线程的迭代间隔时间,固定定时器的延时不会计入当前sampler 的响应时间里,但是会计入事务控制器的时间。对于事务控制器来说,定时器相当于loadrunner中的think time

Jmeter模块详解(8)定时器

如图设置延迟1秒,在图2可看到对应的效果:

Jmeter模块详解(8)定时器

Jmeter模块详解(8)定时器

 

 

同步定时器Synchronizing Timer(集合点)

阻塞线程,直到指定的线程数量到达后再一起释放,可以瞬间产生很大的压力,类似LR的集合点

Jmeter模块详解(8)定时器

(1)Number of Simulated Users to Group by:模拟用户的数量,即指定同时释放的线程数数量,若设置为0,等于设置为线程组中的线程数量;

(2)Timeout in milliseconds:超时时间,即超时多少毫秒后同时释放指定的线程数;如果设置为0,该定时器将会等待线程数达到了设置的线程数才释放,若没有达到设置的线程数会一直死等。如果大于0,那么如果超过Timeout inmilliseconds中设置的最大等待时间后还没达到设置的线程数,Timer将不再等待,释放已到达的线程。默认为0

 

 

常数吞吐量定时器Constant Throughput Timer(请求限流)

Jmeter模块详解(8)定时器

Target throughput(in samples per minute):目标吞吐量。注意这里是每分钟发送的请求数,因此,对应测试需求中所要求的20 TPS ,这里的值应该是1200 

作用:按指定的吞吐量执行,以每分钟为单位。计算吞吐量依据是最后一次线程的执行时延。

 

可以选择作用的线程:当前线程、当前线程组、所有线程组等,具体含义如下:

this thread only: 设置每个线程的吞吐量。假设有10线程,则Target throughput应该填120。

all active threads in current thread group:吞吐量被分摊到当前线程组所有的活动线程上。即总吞吐量就是20每秒,每个线程将根据上次运行时间延迟。

all active threads:吞吐量被分配到所有线程组的所有活动线程的总吞吐量。每个线程将根据上次运行时间延迟。且每个线程组需要一个具有相同设置的固定吞吐量定时器。

all active threads in current thread group (shared):同上,但是每个线程是根据组中的线程的上一次运行时间来延迟。 相当于线程组组内排队。

all active threads (shared):同上,但每个线程是根据线程的上次运行时间来延迟。相当于让所有线程组整体排队。

 

 

准确吞吐量定时器Precise Throughput Timer(请求限流)

Jmeter模块详解(8)定时器

Target Throught:目标吞吐量

Throught Period:表示在多长时间内发送Target Throught指定的请求数(以秒为单位)

Test Druation:指定测试运行时间(以秒为单位)

Number of threads in the bath:用来设置集合点,等到指定个数的请求后并发执行

其它参数默认即可。