性能测试Locust--(3)分布式运行

如果一台计算机不足以模拟所需的用户数量,那么Locust将支持运行分布在多台计算机上的负载测试。

可以使用--master标志在主模式下启动Locust的一个实例。这个实例将运行Locust的web接口,您可以在这里启动测试并实时查看统计信息。主节点本身不模拟任何用户。相反,您必须使用--slave标志启动一个或多个从Locust节点,与--master-host(指定主节点的IP /主机名)一起使用。

常见的设置是在一台机器上运行一个主程序,然后在从计算机上每个处理器内核运行一个从属实例

注意: 在运行Locust分布式系统时,主计算机和每个从属计算机都必须具有蝗虫测试脚本的副本。

当分布式运行的时候,建议启动的模拟用户数量要大于Locust类的数量X从机的数量
否则,由于当前的实现,可能会得到与Locust类的weight属性不对应的Locust类分布。
而且,如果孵化率低于从属节点的数量,则孵化将在“突发”中发生,其中所有从属节点将孵化单个用户,然后休眠数秒钟,孵化另一个用户,休眠并重复。

例如:
要在master模式下启动Locust:
locust -f my_locustfile.py --master

选项
--master
将Locust设置为主模式, web接口将在此节点上运行。

-- slave
将Locust设置为从属模式。

--master-host=X.X.X.X
可选,与-- slave一起使用,设置主节点的主机名/IP(默认为127.0.0.1)

--master-port=5557
可选,与-- slave一起使用,用于设置主节点的端口号(默认为5557)。
注意,locust将使用指定的端口,以及端口号+1。因此,如果使用5557,则locust将同时使用端口5557和5558。

--master-bind-host=X.X.X.X
可选,与-- master一起使用。确定主节点将绑定到哪个网络接口。默认为*(所有可用的接口)。

--master-bind-port=5557
可选,与-- master一起使用。确定主节点将监听的网络端口。默认为5557。
注意,locust将使用指定的端口,以及端口号+1。因此,如果使用5557,则locust将同时使用端口5557和5558。

--expect-slaves=X
使用--no-web启动主节点时使用。然后,主节点将一直等到连接了X个从节点之后才开始测试。

使用Docker进行分布式运行

详见 性能测试Locust–(5)Docker运行

非UI模式下分布式运行Locust

详见 性能测试Locust–(6)非UI模式下分布式运行Locust

逐步负载模式下分布式运行Locust

详见 性能测试Locust–(4)逐步负载模式

提高蝗虫的性能

如果你打算运行大规模负载测试,你可能会对使用Locust附带的备用HTTP client 感兴趣。
详见 Increase Locust’s performance with a faster HTTP client

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章