性能测试工具Locust–(3)分布式运行
- 2020 年 3 月 4 日
- 筆記
可以使用--master
标志在主模式下启动Locust的一个实例。这个实例将运行Locust的web接口,您可以在这里启动测试并实时查看统计信息。主节点本身不模拟任何用户。相反,您必须使用--slave
标志启动一个或多个从Locust节点,与--master-host
(指定主节点的IP /主机名)一起使用。
常见的设置是在一台机器上运行一个主程序,然后在从计算机上每个处理器内核运行一个从属实例。
注意:
在运行Locust分布式系统时,主计算机和每个从属计算机都必须具有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运行 (https://blog.csdn.net/zbj18314469395/article/details/104413017)
非UI模式下分布式运行Locust
详见 性能测试Locust–(6)非UI模式下分布式运行Locust (https://blog.csdn.net/zbj18314469395/article/details/104416996)
逐步负载模式下分布式运行Locust
详见 性能测试Locust–(4)逐步负载模式 (https://blog.csdn.net/zbj18314469395/article/details/104391302)
提高蝗虫的性能
如果你打算运行大规模负载测试,你可能会对使用Locust附带的备用HTTP client 感兴趣。 详见 Increase Locust’s performance with a faster HTTP client ( https://docs.locust.io/en/stable/increase-performance.html#increase-performance )