【问题标题】:Set JMeter to start thread groups after 10 seconds设置 JMeter 10 秒后启动线程组
【发布时间】:2019-11-25 14:38:05
【问题描述】:

我有一个包含 15 个不同线程组的 JMeter 测试计划设置。

每个线程组包含不同的 HTTP 请求。

每个线程组设置为只有 1 个用户(线程数)并且不循环,因此所有请求只运行一次。

当我开始运行测试时,我希望 JMeter 启动第一个线程组,然后我希望第二个线程组在 10 秒后启动。第 3 次在 20 秒后开始(从第 1 次开始),依此类推。

我该如何设置?加速期不是答案。

这是我的线程组:

我希望线程组 Batch cs1 开始运行它所拥有的请求(它所拥有的每个 http 请求都需要一段时间才能运行,超过几分钟)。然后我想等待 10 秒并让线程组 Batch cs2 运行。然后我想再等 10 秒,让线程组 Batch cs3 运行,依此类推,直到所有线程组都已启动并运行。 我只是测试计划设置有误吗?

【问题讨论】:

    标签: jmeter performance-testing


    【解决方案1】:

    在除第一组之外的每个线程组的开始使用流控制动作(无需选中连续运行线程组选项)。在第二个线程组的控制动作中,使用 10000 毫秒,第三个线程组控制动作,使用 20000 毫秒(或您可能想要的任何时间间隔)等等。 我已经用 6 个线程组尝试过这个。

    因此,当我重播测试计划时,“HTTP Request1”立即启动,“HTTP Request2”在第 10 秒开始,“HTTP Request3”在第 20 秒开始,依此类推.. 希望这会有所帮助!

    【讨论】:

      【解决方案2】:

      您可以在线程组的开头添加Flow Control Action,暂停时间为 10000 毫秒

      在测试计划中检查Run Thread Groups consecutively,以便一次执行一个线程组。

      【讨论】:

      • 我不希望线程组连续运行,我希望它们同时运行。我想要的是第一次运行开始,等待 10 秒然后再运行下一次,依此类推。我有 15 个线程组、1 个用户并且没有循环。每个线程组有 3 个 http 请求,每个请求需要一分钟才能运行。我没有将 Flow Control Action 添加到第一个线程组中,而是以 10 秒的增量将其添加到其他 14 个线程组中。但是当我运行测试时,它运行了来自各地的 http 请求,线程组 1 甚至不是第一个运行的
      • @coreysnow 听起来您希望 线程组连续执行,并且因为您有 1 个用户,所以您不需要并发用户
      • no @user7294900 我希望它们同时出现,我不希望它们连续出现。我更新了问题并粘贴了屏幕截图,希望能进一步阐明我在寻找什么。
      • @corey..来自更新..似乎是连续的线程组执行..但这并不意味着连续的线程执行。单击测试计划并检查(第一个选项)“连续运行线程组”。因此,它将以 cs1 开始,您还需要 cs1 中的流控制操作,最后等待一段时间。然后,它将启动 cs2 并在 http 请求后再次等待,因为等待的流控制操作......等等。
      • 线程组控制线程数,而测试计划控制线程组执行。
      【解决方案3】:

      您可以将启动延迟(秒)设置为第一个线程组为 0,第二个线程组为 10,第三个线程组为 20,等等。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-16
        • 1970-01-01
        相关资源
        最近更新 更多