如何在 Apache JMeter 中确定多个控制器的优先级

How to prioritize multiple controllers in Apache JMeter

我在JMeter中有一个要求,同时在中执行了几个记录的HTTP请求(放在Transaction Controller中)线程组,它们应该从一个开始执行,即)控制器 1、控制器 2、... & 最终控制器。

但是当我给 100 个线程时它开始执行,控制器 1 执行 100 次然后控制器 2 执行 100 次并且它继续相同直到最后一个控制器。

从上图可以验证我的结果。而且我需要知道,当我给出多个线程数时,我如何确定我的控制器的优先级。我对 100 个线程的确切输出应该如下所述,

1. Controller 1, 2, and till final controller should run as 1st thread count
2. Controller 1, 2, and till final controller should run as 2nd thread count
3. Same like it should continue till the 100th thread count

请告诉我这个要求在 JMeter 4.0

中是如何实现的

提前致谢

这是默认 JMeter 行为,JMeter 线程(虚拟用户)是绝对独立的,因此:

  1. 当您开始对 1 个用户进行测试时,它开始执行 Samplers 倒置,一个接一个
  2. 当您开始对 100 个用户进行测试时 - 所有 100 个用户都开始颠倒执行采样器。假设您有 100 个并发用户,第一个采样器可能会同时被多个用户执行。

通常这是大多数人的要求。如果您要求 运行 第一个用户的所有请求,然后是第二个用户的所有请求,并且同时有 100 个用户 - 建议提出此要求的人退出 IT 并成为割草机,因为该要求没有'有道理又是矛盾的。

您仍然可以使用 Concurrency Thread Group 配置来实现它:

这将为您提供所需的信息:

您可以使用 JMeter Plugins Manager 安装并发线程组。