如果一台计算机不足以模拟所需的用户数量,那么Locust将支持运行分布在多台计算机上的负载测试。
可以使用--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 )
文章合集
Selenium | Appium | Jenkins | Jmeter
软件测试方法汇总 | Postman接口参数化 | 测试用例设计
免费福利 ****
Selenium | Appium | Jenkins | Jmeter
往期性能推文:
03|性能综述: 怎么理解TPS、QPS、RT、吞吐量这些性能指标?
04|JMeter和LoadRunner:要知道工具仅仅只是工具
Locust-蝗虫
性能测试工具Locust--(1)概述及安装入门
性能测试工具Locust--(2)编写locustfile
万水千山总是情,点个“在看” 行不行!!?