[PPJ_20] Locust接口性能测试之no-web模式、分布式模式

一、 no-web运行模式

前文通过Web界面来运行测试,也可通过非Web状态来运行,如cmd命令来运行

操作命令:

locust -f F:\Py_Script\api_testing\Locust\locust_users_groups.py --no-web -c 10 -r 2 -t 2m
参数项 表征含义
--no-web 非Web模式;与-c、-r联用
-c NUM_CLIENTS
--clients=NUM_CLIENTS
指定并发用户数
-r HATCH_RATE
--hatch-rate=HATCH_RATE
指定并发加压速率(每秒聚集多少个用户);
默认为1
-t RUN_TIME
--run-time=RUN_TIME
设置运行时间,如(300s,20m,3h,1h30m...)

执行结果:


二、 分布式运行

以上是单台机器来执行性能测试,但若单机不够模拟足够多的用户时,Locust可支持运行在多台机器中进行压力测试,即分布式压力测试。

分布式运行一般是1台master机器、n台slave机器
如:

机器类型 IP地址
master机 192.0.0.2
slave机 192.0.0.3
192.0.0.4
192.0.0.5
......

以脚本 locust_users_groups.py 为例

1. 定义1台master机
locust -f F:\Py_Script\api_testing\Locust\locust_users_groups.py --master
2. 定义slave机
S1-若slave机与master机位于同一台机器上

直接定义slave机:

locust -f F:\Py_Script\api_testing\Locust\locust_users_groups.py --slave
S2-若slave机与master机不在同一台机器上

在定义slave机的同时,需要通过--master-host参数指定master的IP地址:

locust -f <...\locust_users_groups.py> --slave --master-host 

以上,在不同机器上的利用命令定义master机和slave机之后,在master机的Web界面上设置并执行接口性能测试:
作为演示效果,本次master机和slave机都是在同一机器上,设置1个作为master机,再新开3个cmd命令窗口作为slave机。

当目标设置30个并发用户时,每个slave机平均生成10个用户进行分布式压测

你可能感兴趣的:([PPJ_20] Locust接口性能测试之no-web模式、分布式模式)