问题描述
场景
locust
使用渐变生成率进行测试,图表看起来像 45 度角。
我想知道所有线程都在运行时系统的 RPS。
来自 locust
的开箱即用 RPS 值将包括运行开始时线程较少时的 RPS 值。
- 如何自定义我的
locust
脚本以从所有线程都运行时开始计算 RPS? - 这是一种合理的负载测试做法吗?
- 另一种选择是尽可能多地“模拟现实”(实际上,系统启动时会加速)。要获得更具代表性的 RPS 值,请运行更长时间的测试。
解决方法
您需要关注系统在添加新负载时可以处理的内容的原因有很多。接受连接可能会出现性能问题,例如,如果您的 SSL/TLS 设置或库不正确或较旧。在某些情况下,出现新负载可能会影响已经连接到并使用您的系统的用户。您甚至可能有在接受新连接时发生的其他服务器逻辑。简而言之,您应该选择上面的 3)。
然而,有足够多的人喜欢忽略或掩盖在提升过程中的情况,Locust 确实有一个 configuration option --reset-stats
,一旦所有的产卵完成,它会自动重置所有收集的统计数据,所以它看起来好像负载测试是在所有用户瞬间连接的情况下开始的。那应该可以满足您的要求。