前文目录:
性能测试工具Locust使用指南(一)
性能测试工具Locust使用指南(二)
分布式运行Locust
如果单主机满足不了并发要求,可以使用多台机器上运行负载测试。
可以使用--master
以主模式启动Locust的一个实例。这个实例将运行Locust的web界面,可以在这个web界面开始测试并查看实时统计信息。主节点自身不发送请求。因此,必须启动一个或多个从属节点,使用--slave
标记,以及--master-host
指定主节点的IP /主机名。
举例:
主模式:locust -f my_locustfile.py --master
从模式:locust -f my_locustfile.py --slave --master-host=192.168.0.14
(192.168.0.14是运行主模式的机器ip)
在命令行直接执行,不使用Web UI界面
如果想要在没有web UI的情况下运行locust(例如,想在一些自动化流程中运行它,比如CI服务器), 使用--no-web
标志和-c
和-r
参数.
locust -f my_locust_file.py --no-web -c 1000 -r 100
-c
指定并发用户总数,-r
指定用户生成速率
-t
或者--run-time
可以指定程序的运行时间.
locust -f --no-web -c 1000 -r 100 --run-time 1h30m
在命令行分布式运行Locust
需要在主节点指定--expect-slaves
参数,以确定需要多少从节点连接.直到达到这个数量的从节点连接上主节点,才会启动测试.
以csv格式保存测试结果
- 如果是用Web UI方式启动Locust,则可以在
Download Data Tab
页面下载csv格式的测试结果 - 如果是用命令行方式启动Locust,则可以指定
-csv
参数,它将定期保存CSV文件.如果打算以自动化的方式在命令行运行Locust,这点特性将特别有用。
locust -f my_locust_file.py --csv=foobar --no-web -n10 -t10m
可以这样自定义csv文件定期保存的间隔时间(默认是2s):import locust.stats locust.stats.CSV_STATS_INTERVAL_SEC = 5 # default is 2seconds
网友评论