【问题标题】:JMeter While-Controller with terminal delay具有终端延迟的 JMeter While-Controller
【发布时间】:2020-10-30 02:07:41
【问题描述】:

我有一个 JMeter (5.3) 而控制器在一个 1 用户线程组中,它读取一个 CSV 并对每一行进行 http 调用。我希望所有这些尽快完成(即循环不间断地完成),然后线程组应该暂停,然后我希望 csv 循环重复*。

事实证明这非常困难。在While below 添加一个Constant Timer,它(反直觉地)在循环之前执行before,但我需要它在启动时立即运行,然后延迟。类似的 SO 帖子建议使用流控制操作,但是暂停实际上并没有为我暂停。 其他人建议在 Flow Control 中添加一个 Constant Timer 子级,但它被完全忽略了。在这两种情况下,csv 行都会毫无延迟地重复执行。

有没有人有这方面的秘诀:每隔几个小时处理一次完整的 csv 文件?
说起来简单,做起来却出奇的难。

我的设置:“CSV 数据配置”使用“在 EOF 上回收”:True '在 EOF 上停止线程':False。流控制操作的“暂停”持续时间:0,子计时器设置为所需的延迟。

谢谢。


*请不要问为什么,只要假设我真的想要这个。

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    流控制动作,但暂停实际上并没有为我暂停。

    这有点奇怪,因为它确实有效,并在线程到达采样器时引入了暂停。

    参见下图,禁用流控制操作采样器 JMeter 尽可能快地运行请求,当我启用它时,JMeter 根据配置的延迟每 2 秒运行一次请求

    关于“反直觉”行为:

    1. 根据Timers 文档:

      请注意,计时器在找到它们的范围内的每个采样器之前被处理;如果同一范围内有多个定时器,则所有定时器都将在每个采样器之前处理。

      定时器仅与采样器一起处理。与采样器不在同一范围内的计时器根本不会被处理。 要将计时器应用于单个采样器,请将计时器添加为采样器的子元素。计时器将在采样器执行之前应用。要在采样器之后应用计时器,请将其添加到下一个采样器,或者将其添加为流控制动作采样器的子级。

    2. 计时器也服从JMeter Scoping Rules

    【讨论】:

      猜你喜欢
      • 2019-10-31
      • 1970-01-01
      • 2012-12-13
      • 1970-01-01
      • 1970-01-01
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      • 2013-01-24
      相关资源
      最近更新 更多