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

前言

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

单机主从模式

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

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

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

locust -f locustfile.py --master

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

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

locust -f locustfile.py --slave

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

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

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

多机主从模式

当一台机器的并发数无法满足你的业务需求时,可以在多台机器上分布式的执行性能测试。
选择其中一台电脑,启动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

上一篇:【转】Locust 性能测试-小案例(1)-环境搭建


下一篇:基于python的性能测试工具–locust