【问题标题】:How to create JMeter test with parallel execution in one thread group with specific throughput?如何在具有特定吞吐量的一个线程组中创建具有并行执行的 JMeter 测试?
【发布时间】:2020-04-20 06:30:05
【问题描述】:

我从生产集群获得了 API 使用统计数据,需要在测试集群上对其进行模拟,即每分钟以特定速率执行 N 个请求。我已经通过以下结构(简化)达到了预期的结果:

- Thread Group #1
  - Auth
  - Loop Controller
    - API Request #1
    - Constant Throughput Timer #1
- Thread Group #2
  - Auth
  - Loop Controller
    - API Request #2
    - Constant Throughput Timer #2
- Thread Group #3
  ...
...

看起来不够好,因为我不得不为每个API Request 重复相同的AuthLoop Controller 多次。

我更喜欢这样的测试计划结构:

- Thread Group #1
  - Auth
  - Loop Controller
    - Some Kind of Parallel Controller
      - Simple Controller or Something Like This #1
        - API Request #1
        - Constant Throughput Timer #1
      - Simple Controller or Something Like This #2
        - API Request #2
        - Constant Throughput Timer #2
      - Simple Controller or Something Like This #3
        ...

实现此类解决方案的唯一一个看起来不错的工具是bzm - Parallel Controller,但我无法使其与上述结构一起使用。也许我做错了什么。

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: testing jmeter performance-testing


    【解决方案1】:

    你不能,JMeter 在执行下一个采样器之前会等待之前的Sampler 响应,所以如果你将所有采样器放在一个线程组下,所有请求都将以最慢请求的速度执行

    因此,您使用不同线程组的方法是有效的。

    如果您需要在多个线程组中使用相同的常用步骤而不是复制和粘贴它们,请考虑将它们放在Test Fragments 下,并在需要时使用Module Controller 链接测试片段。

    【讨论】:

    • 感谢您的回复。两个 cmets: 1) 如果只能使用不同的线程组进行并行执行,那么bzm - Parallel Controller 是什么意思,即“并行控制器可用于创建并行请求”blazemeter.com/blog/…; 2)常见步骤的问题不仅在于复制粘贴元素,还在于每个线程的每个线程组的冗余身份验证调用,而不是一个身份验证调用,并使用其中的令牌用于一个线程组中的所有后续步骤,并在内部并行执行。
    • 并行控制器主要用于绕过JMeter限制,即模拟AJAX请求。它与 JMeter Threads 模型不太兼容,因此在处理 cookie 时可能会导致问题。 2. 您可以使用 Once Only Conroller 或 storing the token into a JMeter property using __setProperty() in one Thread Group and accessing it using __P() function from other Thread Groups 进行一次身份验证。
    • 我通过您的最后一个链接查看了 Blazemeter 站点,但明确指出“连续运行线程组”以实现所需的行为。如果我理解正确的话,它显然不适合我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多