JMeter定时器之固定定时器(Constant Timer)

一、背景

在一般情况下,JMeter线程在发送请求之间是没有间歇时间的,为了更加真实地模拟用户请求情况,会将定时器用于在用户操作之间,为每个操作设置等待时间。

需要注意的是定时器是在每个取样器之前执行,无论定时器位置放在取样器之前还是之后,执行一个取样器时,所有当前作用范围内的定时器都会被率先执行。

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

二、固定定时器

如果希望每个线程在两次请求之间暂停相同的时间,可以使用此定时器。当放置固定定时器,于两个HTTP请求之间时,它代表的含义是在上一个请求发出至完成后,开始固定定时器指定的时间,最后再发出第二个请求,它并不是代表两个请求之间的发送间隔时间。

比如在登录之前,需要注册账号,当注册账号信息还没存储到数据库时,就发起了登录操作,那就会报错。此时,就需要在登录之前先等待一下。这与自动化脚本中的强制等待sleep类似。比如,这里设置延迟3000毫秒,也就是3秒钟。

首先,看看在没有设置固定定时器时,两个请求之前的间隔时间。如图所示,可以看出请求之前的间隔时间非常的短,这样很可能会出现上诉中的所述问题,注册接口提交的数据还没有保存在数据库,而登录请求已经发出。

接着,设置一下固定定时器,设置时间为3000毫秒,也就是3秒。

执行测试后,再看看两个请求之前的间隔时间,如图所示,可以看出请求之前的间隔时间3秒。

注意:固定定时器的延时不会计入单个sampler的响应时间,但会计入事务控制器的时间。

posted @   xyztank  阅读(2855)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示