JMeter中如何让关联API调用不受Constant Throughput Timer间隔影响?
解决JMeter请求组间隔控制问题
核心思路
把需要连续执行的Request 1和Request 2打包成一个逻辑单元,让Constant Throughput Timer只控制这个单元的执行频率,而非单个请求。
具体配置步骤
- 用事务控制器包裹目标请求
- 在线程组下添加「事务控制器」,必须勾选**「Include duration of timer and pre-post processors in generated sample」**选项(这是关键:不勾选的话,定时器会跳过事务控制器,依然作用在单个请求上)
- 将Request 1和Request 2拖入该事务控制器内
- 调整Constant Throughput Timer的作用范围
- 让Constant Throughput Timer与事务控制器处于同级节点(不要放在事务控制器内部),确保它的作用域覆盖整个事务单元
- 保留原有的吞吐量设置(比如你需要的每分钟调用次数),此时JMeter会控制整个事务单元的执行间隔,而非单个请求之间的间隔
- 验证执行效果
运行测试后,查看时间戳会符合预期:Request 1 2023-12-18 15:31:14.867
Request 2 2023-12-18 15:31:14.900
Request 1 2023-12-18 15:31:20.807
Request 2 2023-12-18 15:31:20.830
常见问题排查
- 之前使用Transaction Controller未生效,几乎都是因为没勾选「Include duration of timer and pre-post processors in generated sample」,这个选项会让JMeter将事务控制器视为完整采样器,应用定时器规则
- 确认线程组的「循环次数」或「测试时长」设置符合需求,避免循环逻辑导致异常间隔
内容的提问来源于stack exchange,提问作者Corentin
相关产品推荐
相关产品推荐

