Locust 分布式压测主要有两个角色:Master 和 Worker。Master 是主控节点,负责控制测试的进程以及数据的汇总;Worker 是工作节点,负责执行测试任务。

以下是常用的 Locust 分布式压测命令:

  1. 启动 Master 节点
locust -f locustfile.py --master --host=http://example.com
  1. 启动 Worker 节点
locust -f locustfile.py --worker --master-host=master-host-ip-address
  1. 停止测试

在 Master 界面中选择“Stop”按钮,或者使用以下命令:

curl -X POST http://master-host-ip-address:8089/stop
  1. 停止所有 Worker 节点
curl -X POST http://master-host-ip-address:8089/stop-workers
  1. 重启 Master 节点
curl -X POST http://master-host-ip-address:8089/restart
  1. 查看压测报告

在 Master 节点界面中可以直接查看,或者使用以下命令生成 HTML 报告:

locust -f locustfile.py --no-web -c 100 -r 10 --run-time 1h --csv=report
locust -f locustfile.py --no-web -c 100 -r 10 --run-time 1h --html=report.html

其中,-c是并发用户数,-r是每秒启动用户数,--run-time 是测试时间,--csv 是输出 CSV 格式的报告,--html 是输出 HTML 格式的报告。