Locust 2.4/2.4.3版本是否支持step load步进负载功能?
Locust 2.4.x版本Step Load功能相关解答
功能兼容性说明
- Locust 2.4版本完全支持step load测试,2.4.3版本的step load功能可以正常稳定运行,不存在功能缺陷。
- 你找到的1.2.3版本旧文档失效是因为官方2.0版本后调整了step load的实现逻辑和文档目录,旧路径自然404,不需要参考旧版配置说明,用新版的配置规则即可。
基础使用方法
命令行直接使用
你可以直接在启动Locust的时候通过参数指定step规则,常用参数如下:
--step-load:开启step load模式--users:指定最终要达到的最大用户数--spawn-rate:每个step阶段新增的用户数--step-time:每个step阶段的持续时间,单位支持s/m/h,比如30m代表每个阶段跑30分钟
举个启动命令示例:locust -f your_test_script.py --step-load --users 1000 --spawn-rate 100 --step-time 10m
上面的命令代表每10分钟新增100个用户,直到总用户数达到1000为止。
代码自定义Step逻辑
如果需要更灵活的step规则,你可以直接在测试脚本里通过LoadTestShape类自定义,示例代码如下:
from locust import LoadTestShape class StepLoadShape(LoadTestShape): step_duration = 600 # 每个阶段持续10分钟 step_users = 100 # 每个阶段新增100用户 max_users = 1000 # 最大用户数 def tick(self): run_time = self.get_run_time() current_step = run_time // self.step_duration users = min(self.step_users * (current_step + 1), self.max_users) return (users, self.step_users)
用这种方式不需要加额外的启动参数,直接运行脚本就会按照你定义的step规则加载用户。
内容的提问来源于stack exchange,提问作者LiliiaKi
相关产品推荐
相关产品推荐

