You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JMeter在同一循环中实现不同间隔Sampler的循环运行

JMeter同循环结构实现多频率请求+固定总时长配置方案

核心思路

不用拆分多线程组,靠「外层统一循环+内部分支并行+作用域精准绑定定时器」的结构,就能在同一个循环层级下实现两种不同执行频率的请求逻辑,同时靠线程组调度器卡死20分钟总运行时长。

具体配置步骤

1. 线程组基础配置

新建普通线程组(Thread Group),参数按如下设置:

  • 线程数:单流程验证填1即可,压测场景按实际并发需求调整
  • 循环次数:勾选永远
  • 展开调度器(Scheduler)配置区,*持续时间(Duration)*填1200(单位为秒,对应20分钟总运行时长),启动延迟填0即可

2. 统一循环结构搭建

在线程组下新建1个循环控制器(Loop Controller),循环次数设置为永远,这就是你需要的统一外层循环结构,所有业务逻辑都放在这个控制器内部:

  • 在这个外层循环控制器内部,新建1个并行控制器(Parallel Controller),勾选Generate parent sample选项,避免多余的采样结果干扰统计。若找不到并行控制器选项,打开JMeter插件管理器搜索Parallel Controller安装后重启即可。
  • 并行控制器下新建2个平行分支,两个分支会独立并行运行、执行节奏互不阻塞:
    • 分支1:新建子循环控制器(循环次数设为永远),用来放每5秒执行一次的独立采样器
    • 分支2:新建子循环控制器(循环次数设为永远),用来存放其余按顺序执行的Sampler

3. 执行间隔配置

利用JMeter定时器「作用于当前节点及所有子节点」的规则,精准给不同分支绑定对应间隔,不要把定时器挂在外层公共节点上避免互相干扰:

  • 分支1配置:把需要5秒执行一次的Sampler放到分支1的子循环控制器下,给这个Sampler单独挂载1个Constant Timer,固定延迟值填5000(单位毫秒,对应5秒间隔)
  • 分支2配置:把Simple Controller放到分支2的子循环控制器下,将需要顺序执行的所有Sampler按执行顺序排列在Simple Controller内,给每个Sampler单独挂载1个Constant Timer,固定延迟值填10000(单位毫秒,对应10秒相邻操作间隔)

避坑提示:不要把10秒定时器挂在Simple Controller根节点,否则会在整组Sampler执行前统一等待10秒,达不到每两个相邻操作间隔10秒的效果;也不要用Constant Throughput Timer做固定间隔控制,该定时器是按分钟维度计算吞吐量,短周期执行场景误差极大,固定间隔场景直接用Constant Timer精度最高。


效果校验

配置完成后试运行1分钟即可验证逻辑:

  • 5秒间隔的采样器固定每5秒触发1次,不会被其余请求阻塞
  • Simple Controller内的Sampler按从上到下的顺序逐个执行,每执行完1个等待10秒再执行下一个,跑完最后一个自动回到第一个循环
  • 运行时长满20分钟后,线程组会自动终止所有请求,无需手动停止

内容的提问来源于stack exchange,提问作者Joosep Parts

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 01:24:33