网络知识 娱乐 Locust性能测试7-分布式执行

Locust性能测试7-分布式执行

前言

使用Locust进行性能测试时,当一台单机不足以模拟所需的用户数量的时候,可以在多台机器上分布式的执行性能测试。 locust分布式启动场景有2种,一种是单机设置master和slave模式,另外一种是有多个机器,其中一个机器设置master,其它机器设置slave节点。

单机主从模式

Locust 中如需使用 master-slave 模式启动多个进程(使用多核处理器的能力),先启动 master,然后再逐一启动若干个 slave。 其中 slave 的节点数要小于等于本机的处理器数,那么问题来了,如何看自己的电脑是及核的,以win10为例。 打开设备管理器-处理器,数下有几个,比如我下面有四个,那就是四核的

先启动一个master节点,mater节点不执行任务

locust -f locustfile.py —master

开多个窗口,启动多个slave节点,比如我开四个窗口,依次执行以下命令

locust -f locustfile.py —slave

此时在浏览器输入:http://localhost:8089/ slave节点数为4

多机主从模式

当一台机器的并发数无法满足你的业务需求时,可以在多台机器上分布式的执行性能测试。 选择其中一台电脑,启动master节点,因为主节点无法操作别的节点,所以必须在其它机器上启动从属Locust节点,后面跟上—slave参数,以及 —master-host(指定主节点的IP /主机名)。

locust -f locustfile.py —master

接着在其它机器上(环境和主节点环境一致,都需要有locust的运行环境和脚本),启动 slave 节点,设置 —master-host

locust -f locustfile.py —slave —master-host=192.168.x.xx

参数介绍:

  • —master 以主服务模式启动Locust,web界面打开也是以此机IP为地址。
  • —slave 以从属服务模式启动Locust
  • master-host=192.168.x.xx 用于从属服务指定主服务的地址
  • —master-port=8089 用于从属服务指定主服务的端口

无网页模式启动, -c是设置并发用户数,-r是设置每秒进入用户数,-t设置运行时长

locust -f locust_files/my_locust_file.py —no-web -c 100 -r 10