小门板儿

Menu

Jmeter详解–定时器

1. 定时器是在每个sampler(采样器)之前执行的,而不是之后(无论定时器位置在sampler之前还是下面); 2. 当执行一个sampler之前时,所有当前作用域内的定时器都会被执行; 3. 如果希望定时器仅应用于其中一个sampler,则把定时器作为子节点加入; 4. 如果希望在sampler执行完之后再等待,则可以使用Test Action;

一、固定定时器(Constant Timer)

image-20210823160509495

如果你需要让每个线程在请求之前按相同的指定时间停顿,那么可以使用这个定时器;需要注意的是,固定定时器的延时不会计入单个sampler的响应时间,但会计入事务控制器的时间。

对于“java请求”这个sampler来说,定时器相当于loadrunner中的pacing(两次迭代之间的间隔时间); 对于“事务控制器”来说,定时器相当于loadrunner中的think time(思考时间:实际操作中,模拟真实用户在操作过程中的等待时间)。

我们通常说的响应时间,应该大部分情况下是针对某一个具体的sampler(http请求),而不是针对一组sampler组合的事务 。

二、常数吞吐量定时器(Constant Throughput Timer)

image-20210823170315939

Calculate Throught based on 下拉框选项:

1、This thread only :分别控制每个线程的吞吐量,选择这种模式时,总的吞吐量为设置的 target Throughput 乘以线程的数量。

如果我们这里选择此种模式,然后设定了是2个线程,Target throught :1200,添加http请求,吞吐量为 1200/60*2=40/s

image-20210823174245062

2、All active threads : 设置的target Throughput 将分配在每个活跃线程上,每个活跃线程在上一次运行结束后等待合理的时间后再次运行。活跃线程指同一时刻同时运行的线程。

如果我们这里选择此种模式,然后设定了是2个线程,Target throught :1200,添加http请求,吞吐量为 1200/60=20/s

image-20210824143756315

3、All active threads in current thread group :设置的target Throughput将分配在当前线程组的每一个活跃线程上,当测试计划中只有一个线程组时,该选项和All active threads选项的效果完全相同。

image-20210824144621954

4、All active threads (shared ):与All active threads 的选项基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程上一次运行结束后等待合理的时间后再次运行。

image-20210824143949627

5、All cative threads in current thread group (shared ):与All active threads in current thread group 基本相同,唯一的区别是,每个活跃线程都会在所有活跃线程的上一次运行结束后等待合理的时间后再次运行。

image-20210824144537432

三、高斯随机定时器

高斯随机定时器,又可以称作正态分布随机定时器,该定时器可以设置在两个请求间随机延时时长。且总的延时是高斯分布(正态分布)的总和(均值:0.0、标准差1.0)。在使用时须指定偏差延时值和偏移值。

image-20210824165840821

例如在访问百度首页,然后输入关键词进行搜索,受网络、人等各种因素影响,有的人打开首页后3s后则进行了搜索,有时则是10s或更多时间,在正常情况下,打开百度然后进行搜索,假设用户间隔在3s-10s之间,从统计学来看,这个间隔时间可能是一个正态分布或接近正态分布。而不是一个固定的常量

四、Synchronizing Timer

性能测试中有一个概念就是“并发”,其实在实际真是的性能测试汇总不存在真正的并发的,为了更真实的模拟一个并发测试,我们通常设置一个集合点,Jmeter中提供了一个Synchronizing Timer来实现

(1)Number of Simulated Users to Group by:模拟用户的数量,即指定同时释放的线程数数量

(2)Timeout in milliseconds:超时时间,即超时多少毫秒后同时释放指定的线程数;Timeout时间默认为0,及默认无超时限制;设置超时时间,即组在超时时间后达不到设置的线程数时,会丢弃继续请求及Jmeter 会卡顿;

image-20210824171713133

五、Uniform Random Timer

和高斯随机定时器的作用差异不大,区别在于延时时间在指定范围内且每个时间的取值概率相同,每个时间间隔都有相同的概率发生,总的延迟时间就是随机值和偏移值之和。

image-20210824172844946

下面表示的是随机延迟时间的最大值是100毫秒:

(1)Random Delay Maximum(in milliseconds):随机延迟时间的最大毫秒数

(2)Constant Delay Offset(in milliseconds):暂停的毫秒数减去随机延迟的毫秒数

六、Poisson Random Timer

这个定时器在每个线程请求之前按随机的时间停顿,大部分的时间间隔出现在一个特定的值,总的延迟就是泊松分布值和偏移值之和

image-20210824173724461

上面表示暂停时间会分布在100到400毫秒之间:

(1)Lambda(in milliseconds):兰布达值

(2)Constant Delay Offset(in milliseconds):暂停的毫秒数减去随机延迟的毫秒数

参考文献:https://blog.csdn.net/qq_36260310/article/details/77880484

— 于 共写了2204个字
— 标签:

评论已关闭。