性能测试工具 Locust 分布式进行性能测试

Sorin · 2018年04月07日 · 最后由 Sorin 回复于 2018年04月08日 · 2619 次阅读

使用 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 指定选项,以指定预期连接的从节点数。然后,在开始测试之前,将等待这些从属节点连接。

共收到 2 条回复 时间 点赞

locust 不得不说有一个很悲剧的事情 性能瓶颈还是大。。。。

Elegantwind 回复

嗯嗯,是的, 如果很大的压力,可以考虑 tsung

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册