【问题标题】:Locust - take response time out of RPS equation?蝗虫 - 从 RPS 方程中提取响应时间?
【发布时间】:2021-07-21 09:02:07
【问题描述】:

这是我经常看到的那种流量模式。

我了解 RPS 大致等于 number of users/(response time + sleep time),因此如果我的用户数量和我的响应时间以相似的速度增加(我使用 0 睡眠时间),我的 RPS 将大致持平。

我也明白你不能帮我调试响应时间越来越长的底层系统!这是我将单独追求的另一个主题。响应时间的增加不是 Locust 问题。

我的问题是如何让 Locust 忽略响应时间,以产生不断增加的 RPS?我想完全排除响应时间,以便 RPS 与用户数量成正比。

(我为什么要这样做?为了有效地对我的特定系统进行负载测试。)

【问题讨论】:

    标签: traffic locust


    【解决方案1】:

    单个 Locust 用户是同步/顺序的,不能“忽略响应时间”,就像任何其他 Python 程序不能“忽略执行一行代码所花费的时间”一样

    但您可以使用 wait_time = constant_pacing(seconds_per_iteration) 来确保每个用户有固定的迭代时间https://docs.locust.io/en/stable/writing-a-locustfile.html#wait-time-attribute

    如果您愿意,也可以使用 wait_time = constant_pacing(1/iterations_per_second)。

    对于相同类型等待的“全局”版本,请使用https://github.com/SvenskaSpel/locust-plugins/blob/master/examples/constant_total_ips_ex.py

    确保您的用户数量足够多,因为这些方法都不能启动额外的用户/并发请求。

    您可能还想看看https://github.com/locustio/locust/wiki/FAQ#increase-my-request-raterps

    【讨论】:

    • 是否有替代 locust 工具可以在不依赖响应时间的情况下实现火灾请求。为了更好地解决这个问题,我们是否遗漏了一些其他概念?
    【解决方案2】:

    基于cyberwiz 的回答,您不能让个别蝗虫用户忽略响应时间。每个人都提出了请求,在得到响应之前不能做任何其他事情。随着响应时间的不断增加,您所能做的就是让 Locust 产生越来越多的用户。您需要在分布式模式下运行并添加更多可以产生更多用户的工作人员。您可以指定更高的用户数,甚至可以指定更高的孵化率,具体取决于您尝试实现的行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-05
      • 1970-01-01
      • 2021-02-28
      • 1970-01-01
      • 1970-01-01
      • 2021-04-30
      • 2014-10-13
      相关资源
      最近更新 更多