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

使用吞吐量控制器与Unique Each Occurrence参数化时无法达成目标TPS

可行解决方案:JMeter 实现唯一产品分配并达标预期TPS

方案1:CSV数据集配置+严格唯一分配

  • 准备含所有唯一产品ID的CSV文件,每行一个ID
  • 配置CSV数据集:选择Share mode: Current thread group,关闭Recycle on EOF?,开启Stop thread on EOF?(若需循环唯一分配,可结合计数器重置逻辑)
  • 这种方式依赖JMeter原生组件,性能开销远低于自定义代码,能更好适配吞吐量控制器与计时器的TPS控制逻辑

方案2:预生成产品ID列表+内置计数器

  • 用JSR223前置处理器提前生成所有唯一产品ID的列表,存入JMeter全局属性(如productList_0、productList_1...)
  • 添加Counter元件:起始值0、步长1、最大值设为产品列表长度-1
  • 调用产品ID时用${__P(productList_${counter},)},通过计数器索引直接取值,避免运行时动态计算损耗

方案3:调整吞吐量控制层级与逻辑

  • 将恒定吞吐量计时器移至线程组级别,而非嵌套在事务/吞吐量控制器内,确保全局TPS控制生效
  • 吞吐量控制器选择Total Executions模式而非百分比模式,精确控制事务执行总量
  • 把产品ID获取逻辑移到吞吐量控制器外部的前置处理器中,避免控制器内逻辑叠加导致的性能损耗

方案4:分布式测试+分片产品ID

  • 若单节点因负载或ID生成逻辑出现瓶颈,启用JMeter分布式测试
  • 给每个测试节点分配独立的产品ID分片(如节点1用1-1000,节点2用1001-2000),既保证全局唯一,又通过多节点分摊负载提升TPS

内容的提问来源于stack exchange,提问作者Om Prakash Yadav

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 12:45:46