【问题标题】:Jmeter - simulating more complex load scenarios?Jmeter - 模拟更复杂的负载场景?
【发布时间】:2011-07-17 02:42:06
【问题描述】:

一直在用 Jmeter 做实验,我想知道最好的方法:

20 位用户在 20 分钟内登录应用程序,并在 20 分钟内执行某些操作,然后在 20 分钟内注销。 IE。有 200 个用户登录,然后在所有用户都登录后,开始 20 分钟计时器。 20 分钟过后,开始记录最早登录的人。

我意识到这可能是也可能不是一个现实的测试场景,但我想看看它是否可能。

目前我有一个测试计划,用户登录,执行一些操作,然后注销。我看不出我可以如何加速和减速。

【问题讨论】:

    标签: java jmeter performance-testing


    【解决方案1】:

    测试计划中有一个选项“连续运行线程组”。将其设置为选中。

    然后将 3 个线程组添加到您的测试计划中。我建议第一个使用线程组(20 个线程,循环计数 1,加速时间 1),第二个使用终极线程组(20 个线程立即启动并保持负载 20 分钟),第三个使用线程组(20 个线程,循环计数 1,加速时间 1)。

    在每个 TG 中放置适当的采样器 - 首先登录,第二个执行操作,第三个注销。

    就是这样。如果您有任何问题,请告诉我。

    【讨论】:

    • 那么问题是我必须登录 3 个线程中的每一个。
    • 好的,另一个选项是使用 Once Only 控制器。登录时可以设置一个,每个线程只执行一次
    • 我为你做了一个简短的示例测试计划,试试看download
    • 谢谢,会尝试回帖
    【解决方案2】:

    您需要在 JMeter 中以不同的时间间隔启动和运行多个线程组,这样可以确保先启动的用户先结束。

    另请参阅related question

    【讨论】:

      【解决方案3】:

      您可以没有用户 = 20,加速时间 = 1200 秒(每分钟 1 个),测试开始和测试结束时间之间的时间差 = 20 分钟来实现。

      【讨论】:

      • 那行不通。我想在斜坡完成后启动一个计时器以模拟 20 分钟的满负荷,然后再进行 20 分钟的注销斜坡下降。
      【解决方案4】:

      我想我过去也遇到过类似的问题

      我已经做到了:

      首先将你的线程组设置为有 20 个线程,加速周期为 60 秒

      登录后放置一个“测试操作”(在采样器菜单中) target = 当前线程,如果你想安全的话,动作暂停和 20 分钟(1200000 毫秒)或更长时间。

      在这个测试动作之后,把你所有的导航请求。

      导航完成后,使用与前一个相同设置的另一个“测试操作”

      (目标 = 当前线程,动作暂停和 20 分钟(1 200 000 毫秒)) 将 loguf 请求放在采样器之后。

      这应该涵盖你的情况。

      请注意,采样器只是暂停您的线程,因此开始的第一个线程应该是结束的第一个线程。

      如果您想将其扩展到 200,您只需将线程组加速周期更改为 6 或 5 秒。

      希望对你有帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-10-24
        • 2021-08-10
        • 1970-01-01
        • 2021-10-23
        • 1970-01-01
        • 1970-01-01
        • 2014-01-27
        相关资源
        最近更新 更多