使用 Locust 进行性能测试时,当一台单机不足以模拟所需的用户数量的时候,可以在多台机器上分布式的执行性能测试。
首先,需要在主机下启动一个 Locust 实例后跟上--master 参数。
locust -f locustfile.py --master
因为主节点无法操作别的节点,所以必须在其它机器上启动从属 Locust 节点,后面跟上--slave 参数,以及 --master-host(指定主节点的 IP /主机名)。
locust -f locustfile.py --slave --master-host=192.168.0.14
当然了主机和每台从属机器上必须具有 Locust 测试脚本
Options 介绍
--master
以主服务模式启动 Locust,web 界面打开也是以此机 IP 为地址。
--master-bind-host=X.X.X.X
(可选项)用于主服务指定一个 ip 地址
--master-bind-port=5557
(可选项)用于主服务设置一个固定的端口
主节点的端口默认是 5557,Locust 启动会使用两个端口:一个是设置的端口,还会使用一个设置端口数 +1 的端口,因此,如果使用 5557,locust 将使用两个端口 5557 和 5558。
--slave
以从属服务模式启动 Locust
--master-host=X.X.X.X
(可选项)用于从属服务指定主服务的地址
--master-port=5557
(可选项)用于从属服务指定主服务的端口
--no-web -c * -r *
无网页模式启动 Locust,-c 是设置并发用户数,-r 是设置每秒进入用户数
locust -f locust_files/my_locust_file.py --no-web -c 1000 -r 100
--run-time 或者 -t
设置 Locust 实例运行多长时间,时间到了,停止实例
locust -f locust_files/my_locust_file.py --no-web -c 1000 -r 100 --run-time 1h30m
--expect-slaves=X
如果在没有 Web UI 的情况下运行 Locust,在启动主节点时加上--expect-slaves 指定选项,以指定预期连接的从节点数。然后,在开始测试之前,将等待这些从属节点连接。