【问题标题】:Locust - how to delay collection of RPS data until all threads have startedLocust - 如何延迟 RPS 数据的收集,直到所有线程都启动
【发布时间】:2021-08-01 07:47:42
【问题描述】:

场景

locust 使用渐变生成率测试,图表看起来像 45 度角。

我想知道所有线程都在运行时系统的 RPS。

locust 的开箱即用 RPS 值将包括运行开始时线程较少时的 RPS 值。

  1. 如何自定义我的 locust 脚本以从所有线程都运行时开始计算 RPS?
  2. 这是一种合理的负载测试做法吗?
  3. 另一种选择是尽可能“模拟现实”(实际上,系统启动时会加速)。要获得更具代表性的 RPS 值,请运行更长时间的测试。

【问题讨论】:

    标签: load-testing locust spawning requests-per-second


    【解决方案1】:

    在添加新负载时,您需要注意系统可以处理的内容有很多原因。接受连接可能会出现性能问题,例如,如果您的 SSL/TLS 设置或库不正确或较旧。在某些情况下,出现新负载可能会影响已经连接到并使用您的系统的用户。当接受新连接时,您甚至可能会发生额外的服务器逻辑。简而言之,您应该使用上面的 3)。

    但是,有足够多的人喜欢忽略或掩饰在加速过程中的情况,Locust 确实有一个 configuration option --reset-stats,一旦所有产卵完成,它会自动重置所有收集的统计数据,因此看起来好像负载测试开始时所有用户都立即连接。这应该可以满足您的要求。

    【讨论】:

    • 优秀的答案。我想补充的一件事是,在加速期间响应时间/吞吐量的变化通常是为什么系统没有执行的关键指标:如果响应时间一开始很短,但在加速期间增加加速它表示系统过载/饱和。如果响应时间稳定(并且 RPS 在加速期间线性增加),系统仍有剩余容量(可能仍然很慢,但尚未饱和)
    猜你喜欢
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 2013-05-12
    • 1970-01-01
    相关资源
    最近更新 更多