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

JMeter Throughput Shaping Timer多取样器执行顺序异常问题咨询

问题原因及解决方案

问题根源

你当前的测试计划结构下,Throughput Shaping Timer会独立控制每个取样器的执行速率,它不会把sampler1和sampler2当作一个整体调度。JMeter会优先满足sampler1的吞吐量配置,先批量触发sampler1的执行,等sampler1的调度队列消耗到一定程度,才会开始调度sampler2,这就导致了你看到的“先跑一堆sampler1,很久才出现sampler2”的情况。

解决办法

把sampler1和sampler2放到**事务控制器(Transaction Controller)**中,让Throughput Shaping Timer控制整个事务的执行,这样每个线程执行完sampler1就会立刻执行sampler2,完全符合你的预期顺序。

具体操作步骤:

  • 在并发线程组下添加一个事务控制器
  • 将sampler1和sampler2移动到事务控制器内部
  • (可选)勾选事务控制器的**"Generate parent sample"**选项,这样测试结果会把两个取样器的请求聚合为一个事务样本,方便查看整体性能
  • 保持Throughput Shaping Timer直接挂在并发线程组下,它会自动把整个事务作为控制单元

调整后的测试计划结构:

并发线程组
├─ Throughput Shaping Timer
└─ 事务控制器
   ├─ sampler 1
   └─ sampler 2

预期效果

调整后,日志输出会符合你的预期,示例如下:

Sampler 1 - thread 1
Sampler 1 - thread 2
Sampler 2 - thread 1
Sampler 1 - thread 3
Sampler 2 - thread 2
Sampler 2 - thread 3

额外注意事项

  • 确保线程组的循环设置为**"Forever"**或足够大的次数,让Throughput Shaping Timer完全控制测试的执行节奏,避免线程组提前终止
  • Throughput Shaping Timer的吞吐量配置要对应你期望的“sampler1+sampler2”组合的执行频率,而不是单个取样器的频率

内容的提问来源于stack exchange,提问作者Sam Gregory

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 12:20:26