SuperAPI AI 工具集

locust

测试与质量

查看项目

更新于 10-15 21:49

技能介绍

用途:Locust 用于负载与性能测试,通过 Python 代码定义虚拟用户行为,适合编写复杂、动态的压测场景,也可对 gRPC、WebSocket 或私有 TCP 协议进行测试。

主要能力:以 HttpUser 与 @task 注解定义用户类与任务层级,用 wait_time 控制任务间隔,用 @task(weight) 设置任务权重以贴近真实用户行为比例;on_start 可在虚拟用户启动时执行登录等初始化。支持分布式 master/worker 架构跨多台机器扩展负载,提供实时 Web 面板查看每秒请求数、响应延迟图表与失败情况。可在 CI/CD 中无头运行并按阈值返回非零退出码。

使用方式:编写 locustfile.py 后运行 locust -f locustfile.py。无头执行示例:locust --headless -u 200 -r 20 -t 5m --host https://staging.example.com --csv=results --exit-code-on-error 1。分布式启动:主节点 locust --master,工作节点 locust --worker --master-host=10.0.1.5。

适用场景:Python 性能测试、分布式压测扩展、实时面板监控、自定义协议测试。

限制与注意:任务中避免重计算阻塞 gevent 协作线程;高负载时不要单进程运行,可用 --processes 4 利用多核;动态 URL 可用 name 参数归组;高并发可继承 FastHttpUser;verify=False 仅限隔离的开发环境。常见问题包括连接被拒、文件描述符超限(可用 ulimit -n 65536 提高)以及目标服务 500 错误。