官方locustio 文档文档讲述了如何编写无限期运行的简单 locust 任务。
无法找出如何运行持续特定时间的负载,以便测试将在指定的时间间隔后自动停止。
我不需要来自 Web 界面的它,命令行/代码选项会很棒。
官方locustio 文档文档讲述了如何编写无限期运行的简单 locust 任务。
无法找出如何运行持续特定时间的负载,以便测试将在指定的时间间隔后自动停止。
我不需要来自 Web 界面的它,命令行/代码选项会很棒。
这个答案已经过时了。Locust 现在有一个 -t / --run-time 参数用于指定运行时间。请参阅https://docs.locust.io/en/stable/running-without-web-ui.html?highlight=run-time#setting-a-time-limit-for-the-test
我最近开始自己使用 locust,不幸的是 locust 0.7.1 没有提供基于时间长度终止测试的方法。
但是,它确实提供了一种根据已发出的请求数终止测试的方法。如果您使用 CLI 界面运行 locust,您可以指定它在处理指定数量的请求后停止执行。从locust --help
输出:
-n NUM_REQUESTS, --num-request=NUM_REQUESTS
Number of requests to perform. Only used together with --no-web
因此,您可以使用以下内容开始会话:
# locust --clients=20 --hatch-rate=2 --num-request=500
一旦处理了 500 个请求,它应该终止测试。
回答可能为时已晚,但将来可能对某人有所帮助。Locust 现在支持使用-t
--headless--run-time
选项运行 Locust 时指定持续时间的选项。来自locust --help
:
-t RUN_TIME, --run-time=RUN_TIME
Stop after the specified amount of time, e.g. (300s,
20m, 3h, 1h30m, etc.). Only used together with --no-
web
locust 现在支持运行时参数--run-time=1h20m
。我从主分支安装了蝗虫。(见 GitHub问题)。我认为这个功能是在 0.9v 正式发布的。
聚会很晚了,但我偶然发现了这个停止测试,它可能会有所帮助。
stop_timeout = 20
在你的蝗虫课上。
哦,它以seconds为单位接受它的值。
可以通过抛出StopLocust异常来停止单个greenlet(“蝗虫”),因此您可以在任务中添加一个检查时间的警卫
这是未记录的行为,将来可能会改变,但它适用于 0.7.2!
这是我根据 locust 0.8.1 的解决方案,我们无法定义它将在 CLI 模式下运行多长时间
timeout $TIME locust -f $YOUR_FILE --host=$YOUR_HOST_TARGET --no-web
时间可以是分钟或秒
timeout 10s locust -f $YOUR_FILE --host=$YOUR_HOST_TARGET --no-web
timeout 10m locust -f $YOUR_FILE --host=$YOUR_HOST_TARGET --no-web