Locust压测脚本:用户模型比并发数更重要
2023年4月记录,分类「Locust」。这是一篇偏实战的记录,保留了当时的判断过程和后续沉淀。
先别问并发
Locust 写起来很自由,也容易写偏。并发数只是表面,真实业务里用户会登录、浏览、停留、提交,动作比例比一个固定并发更重要。
记录这篇的目的,是让下次遇到同类问题时少走一轮弯路。
用户行为建模
- 把用户行为拆成任务,并设置接近真实的权重。
- wait_time 不设成 0,保留用户思考时间。
- 压测账号和业务数据提前准备并可回收。
class WebUser(HttpUser):
wait_time = between(1, 5)
tasks = {view_order: 5, create_order: 1}
脚本组织
- 接口占比接近线上或业务预估。
- 失败率不是因为测试数据耗尽。
- 服务端监控和 Locust 报告能互相印证。
这类内容最怕只靠口头传递,所以我会把命令、样本和异常分支一起留下。
报告关注
压测不是把接口打满,而是模拟业务高峰下系统会遇到的真实压力。这个记录后续还可以继续补真实缺陷样本,让它从笔记变成团队检查清单。