一、 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_HOST>
以上,在不同机器上的利用命令定义master机和slave机之后,在master机的Web界面上设置并执行接口性能测试:
作为演示效果,本次master机和slave机都是在同一机器上,设置1个作为master机,再新开3个cmd命令窗口作为slave机。
当目标设置30个并发用户时,每个slave机平均生成10个用户进行分布式压测
网友评论