Locust的压力测试学习-如何模拟多人同时登录

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实现压力测试_将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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值