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

JMeter中如何按顺序逐个用户运行多线程组?

JMeter实现用户级跨线程组串行执行方案

你的需求(先执行用户1的线程组1→用户1的线程组2→用户2的线程组1→用户2的线程组2……)默认JMeter无法直接实现,但借助Inter Thread Communication插件可以达成,具体配置步骤如下:

  • 标记线程组1的用户执行完成
    在线程组1的最后添加「Inter Thread Communication PostProcessor」,配置:

    • 操作类型:Put Value
    • 变量名:user_${__threadNum}_done
    • 值:任意内容(比如1)
      这个组件会在当前用户的线程组1执行完毕后,写入一个全局变量标记完成状态。
  • 线程组2的用户等待对应信号
    在线程组2的最前面添加「Inter Thread Communication PreProcessor」,配置:

    • 操作类型:Wait for Value
    • 变量名:user_${__threadNum}_done
    • 超时时间:设足够长(比如30000毫秒)
      这样线程组2的第N个用户会一直等待,直到线程组1的第N个用户完成并写入对应变量,才会开始执行自身的采样器。
  • 控制线程组1的用户逐个启动
    默认的加速期5秒会让10个用户在5秒内陆续启动,可能导致用户1还没跑完线程组1,用户2已经开始。需要调整:

    • 线程组1的「加速期」设为0
    • 在线程组1最前面添加「Constant Timer」,设置「线程延迟」为3000(3秒),并勾选「仅适用于当前线程」
      这样线程组1的用户会一个接一个启动,每个间隔3秒,保证前一个用户的线程组1完成后,下一个用户才开始。
  • 额外注意事项

    • 两个线程组的线程数必须一致(都是10),这样${__threadNum}才能精准匹配同一个用户的两个线程
    • 测试计划不要勾选「独立运行每个线程组」,保持默认的线程组顺序执行逻辑
    • 线程组2的「线程启动延迟」可以删除,因为已经通过等待信号实现同步

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 16:15:48