1、安装
pip3 install locust
locust -V
二、快速开始
1、web UI 模式
UI模式可以直接在浏览器上配置要压测的用户数,以及每秒产生的用户数等等信息,比较直观方便。如下所示:
#test_locust_01.py
from locust import HttpUser, task
class HelloWorldUser(HttpUser):
@task
def hello_world(self):
self.client.get("/hello")
self.client.get("/world")
打开命令行,运行脚本:
locust -f test_locust_01.py
服务器已经启动,然后打开浏览器,访问:http://localhost:8089
点击开始start swarming
,查看性能测试结果:
2、headless模式
除了web UI
模式,还有无头模式(headless
)可以选择,通过命令行的方式,把需要配置的参数设置好,便于后续部署持续集成,快速、方便的执行压测脚本。
命令行执行:
locust -f test_locust_01.py --headless --users 10 --spawn-rate 1 -H http://your-server.com #--headless:表示无头模式 #--users:表示总的并发用户数 #--spawn-rate:表示每秒产生的用户数 #-H:表示要压测的主机地址
六、分布式运行
指定宿主机,并启动压测脚本
highlighter- crmsh
locust -f my_locustfile.py --master
指定压力机,并启动压测脚本
highlighter- brainfuck
locust -f my_locustfile.py --worker --master-host=192.168.0.14
我的问题:具体不知道怎么执行
- locust架构上使用master-slave模型,支持单机和分布式
- master和slave(即worker)使用 ZeroMQ 协议通讯
- 提供web页面管理master,从而控制slave,同时展示压测过程和汇总结果
- 可选no-web模式(headless 一般用于调试)
- 基于Python本身已经支持跨平台
locust实现压力测试_将locust作为第三方库 - 简书
作者:bonnie_xing
链接:https://www.jianshu.com/p/cd406c4c7e13
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
五、分布式压测初尝
执行方法比较简单,但务必注意⚠️Locust的版本主、从机是否一致
- 主机(控制机),执行命令
locust -f 待测脚本 --master
- 从机(负载器),执行命令
locust -f 待测脚本 --worker --master-host=主机IP地址
- 主机打开Locust网站,会发现右上角会多了个worker的字段,点击就可以查看当前从机的信息
作者:Aaron_fcff
链接:https://www.jianshu.com/p/9c4ffee61eea
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
参考:
https://www.cnblogs.com/xyztank/articles/16932194.html
https://testerhome.com/topics/24873
Locust学习笔记3——模拟登录案例(非加密)-腾讯云开发者社区-腾讯云
locust实现压力测试_将locust作为第三方库 - 简书
https://docs.locust.io/en/stable/what-is-locust.html
locust实现压力测试_ 环境搭建+编写压测脚本 - 简书
八、参考
1、官方文档:Installation — Locust 2.34.1 documentation
2、Locust 的测试报告_性能监控平台:重新定义 Locust 的测试报告_性能监控平台 · 测试之家
3、locust+prometheus+grafana性能指标平台搭建:locust实现压力测试_测试报告_性能监控平台 - 简书
4、locust+prometheus+grafana性能指标平台:locust(二)配置prometheus和grafana_locust grafana-优快云博客
5、prometheus脚本:https://github.com/ContainerSolutions/locust_exporter