【问题标题】:How to convey Jmeter to wait for all samplers in a thread group to finish before proceeding to next loop如何让 Jmeter 在继续下一个循环之前等待线程组中的所有采样器完成
【发布时间】:2018-03-23 10:03:11
【问题描述】:

我有一个类似这样的测试计划:

如果您在线程组“ClassCreation”处循环,您将看到它有 4 个采样器,其中一个的输出到另一个输入,因此这些采样器必须按顺序运行。此外,我还必须重复这个线程组 12 次。 那么,有没有办法告诉 Jmeter,在进入下一次迭代之前,在一个线程组中,请等待所有采样器完成。

【问题讨论】:

  • 基于图片,对于每个用户j_spring_security_check ... addSubject 将按顺序运行,并且在没有任何额外控制的情况下完成之前不会进入下一次迭代。所以我想这个问题还不清楚。您是否尝试同步它们,以便在进行下一次迭代之前完成所有线程?或者你真正想要实现什么?

标签: jmeter jmeter-3.2


【解决方案1】:

如果您必须设置某些东西,则有一个特殊的线程组用于此目的:Setup Thread Group

在所有其他线程组启动之前运行某些东西很方便。它主要用于设置环境,但我从您的问题中了解到,它也适合您。

这个动作的“逆”是TearDown Thread Group。需要清理测试数据,在所有其他线程组完成后运行。

TL.DR.: 在您的情况下,您可以创建一个 Setup Thread Group 来做需要在另一个之前完成的事情,基本的 Thread Group 是从一个加速期开始的。

详细阅读可以访问:the source of the image.

【讨论】:

    【解决方案2】:

    如果您想等到所有线程都完成,一个简单的解决方案是在线程组的末尾添加一个Synchronizing_Timer

    按线程/用户数设置Number of Simultaneous Users to Group by

    SyncTimer 的目的是阻塞线程,直到 X 个线程被阻塞,然后将它们全部释放。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      相关资源
      最近更新 更多