测量运行之间的性能下降
Measuring performance degradation between performance between runs
我想知道在蝗虫中是否有一种标准方法来检测和警告 运行 之间的性能下降。例如
假设我有一个端点 GET /helloworld
returns 一个 json 像:
{"message":"hello world"}
在性能测试套件的 运行1 上,响应时间是 1 秒,但是 运行 宁 locust
命令,现在 returns 3 秒。在我设计的示例中,假设 3 秒是 'acceptable' 响应时间,因此我们不想让测试失败。但是,端点的性能已经下降,我们想就此发出警告。在蝗虫中实现这一目标的最佳方法是什么?
我想也许在每个 运行 之后将结果保存在 csv
中,并与 current/last 运行 产生的 csv
进行比较,但是有没有更简单的方法来实现这一点?谢谢!
也许 locust-plugins 的 —check-avg-response-time
符合您的需要?它记录一条消息并更改 Locust 的进程退出代码。
这样使用:
locust -f locustfile_that_imports_locust_plugins.py --check-avg-response-time 50
有关更高级的 comparison/tracking 选项,您可能需要查看 Locust Dashboards/Timescale https://github.com/SvenskaSpel/locust-plugins/tree/master/locust_plugins/timescale
虽然它没有任何 built-in 性能下降的信号,但它确实有一个很好的运行时间图,并启用 after-the-fact 分析。
这实际上取决于您的项目有多大以及您需要评估多少数据。
我们正在为此目的使用 keepn (https://keptn.sh/)
如果要部署它,请准备 SLI/SLO 文件,以便将 Locust 与 Keptn 集成。负载测试完成后,将触发给定数据的评估。
在我们的案例中,Jenkins 构建设置为 Pass/Warn/Fail 状态,具体取决于评估结果。
有一些规则可以比较最后 X 个样本的数据。
最终,你需要收集100点才能拥有Green build
在降级时,你将有更少的点数导致失败。
Score graph
Latency graph
我想知道在蝗虫中是否有一种标准方法来检测和警告 运行 之间的性能下降。例如
假设我有一个端点 GET /helloworld
returns 一个 json 像:
{"message":"hello world"}
在性能测试套件的 运行1 上,响应时间是 1 秒,但是 运行 宁 locust
命令,现在 returns 3 秒。在我设计的示例中,假设 3 秒是 'acceptable' 响应时间,因此我们不想让测试失败。但是,端点的性能已经下降,我们想就此发出警告。在蝗虫中实现这一目标的最佳方法是什么?
我想也许在每个 运行 之后将结果保存在 csv
中,并与 current/last 运行 产生的 csv
进行比较,但是有没有更简单的方法来实现这一点?谢谢!
也许 locust-plugins 的 —check-avg-response-time
符合您的需要?它记录一条消息并更改 Locust 的进程退出代码。
这样使用:
locust -f locustfile_that_imports_locust_plugins.py --check-avg-response-time 50
有关更高级的 comparison/tracking 选项,您可能需要查看 Locust Dashboards/Timescale https://github.com/SvenskaSpel/locust-plugins/tree/master/locust_plugins/timescale
虽然它没有任何 built-in 性能下降的信号,但它确实有一个很好的运行时间图,并启用 after-the-fact 分析。
这实际上取决于您的项目有多大以及您需要评估多少数据。
我们正在为此目的使用 keepn (https://keptn.sh/)
如果要部署它,请准备 SLI/SLO 文件,以便将 Locust 与 Keptn 集成。负载测试完成后,将触发给定数据的评估。
在我们的案例中,Jenkins 构建设置为 Pass/Warn/Fail 状态,具体取决于评估结果。
有一些规则可以比较最后 X 个样本的数据。 最终,你需要收集100点才能拥有Green build
在降级时,你将有更少的点数导致失败。
Score graph
Latency graph