Locust - 如何延迟 RPS 数据的收集,直到所有线程都已启动

Locust - how to delay collection of RPS data until all threads have started

场景

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

我想知道所有线程都处于 运行ning 状态时系统的 RPS。

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

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

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

然而,有足够多的人喜欢忽略或掩饰在升级期间的情况,Locust 确实有一个 configuration option --reset-stats,一旦所有产卵完成,它会自动重置所有收集的统计数据,因此负载测试似乎是在所有用户立即连接的情况下开始的。那应该可以满足您的要求。