JMeter中如何用单线程组并行运行两个不同用户流?
单线程组下用Throughput Controller实现多业务流按比例并行执行
完全可以通过Throughput Controller实现你的需求,而且能彻底解决多线程组模式下可能出现的聚合报告统计问题。
具体配置步骤如下:
- 创建一个单线程组,设置总用户数为两个业务流的用户数之和(比如FLOW1需要100个VU、FLOW2需要100个VU,总用户数就设200)。
- 给每个业务流分别添加Throughput Controller:
- 针对FLOW1,配置Throughput为50%,选择「Percent of Threads」模式——这会让50%的VU固定执行FLOW1的业务逻辑。
- 针对FLOW2,同样配置Throughput为50%,「Percent of Threads」模式——剩下的50%VU会执行FLOW2的业务逻辑。
如果你的比例不是1:1(比如2:3),只需按对应比例调整Throughput数值即可(比如FLOW1设40%,FLOW2设60%)。
- 将每个业务流的具体请求、逻辑分别放在对应的Throughput Controller节点下,确保两个流的逻辑相互独立。
这种方案的核心优势:
- 单线程组内的所有请求都会统一被聚合报告统计,不管是GUI还是NO-GUI模式,都不会出现多线程组可能导致的数据拆分、统计偏差问题。
- 每个VU会固定归属到对应业务流,严格保持你需要的用户数比例,实现真正的并行执行。
注意事项:
- 一定要选对Throughput Controller的模式:「Percent of Threads」是按VU比例分配,符合你的需求;如果误选「Percent of Total Executions」,会变成按请求执行次数占比分配,可能不符合VU级别的比例要求。
- 如果线程组设置了循环次数,每个VU会重复执行对应业务流的逻辑,比例始终保持不变。
内容的提问来源于stack exchange,提问作者Raffaele
相关产品推荐
相关产品推荐

