官方locustio documentation讲述了如何编写无限期运行的简单蝗虫任务。
无法找到如何运行持续特定时间的加载,以便测试在指定的时间间隔后自动停止。
我不需要从网络界面,命令行/代码选项将是伟大的。
答案 0 :(得分:20)
我最近开始自己使用蝗虫,不幸的是,蝗虫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个请求,它就应该终止测试。
答案 1 :(得分:5)
可以通过抛出StopLocust异常来停止单个greenlet(“locust”),这样你就可以在你的Task中添加一个检查时间的守卫
这是未记录的行为,将来可能会改变,但它在0.7.2中有效!
答案 2 :(得分:4)
参加派对的时间已经很晚了,但我偶然发现了这个以阻止测试,这可能会有所帮助。
stop_timeout = 20
在蝗虫类中。
哦,它接受秒中的值。
答案 3 :(得分:3)
locust现在支持运行时参数--run-time=1h20m
。我从主分支安装了蝗虫。 (见GitHub issue)。我认为这个功能在0.9v正式发布。
答案 4 :(得分:1)
这里是我的解决方案,根据蝗虫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
答案 5 :(得分:0)
回答可能为时已晚,但将来可能对某人有所帮助。
Locust现在支持-t
或--run-time
选项,以在使用--no-web选项运行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