当前位置: 首页 > news >正文

【4】-多个User执行测试

目录

一个locustfile中有多个User

使用--class-picker指定执行

小结


一个locustfile中有多个User

from locust import task, HttpUserclass User01(HttpUser):weight = 3  # 权重host = 'https://www.baidu.com'@taskdef user_01_task(self):self.client.get(url='/', name='user_01_task')class User02(HttpUser):weight = 1  # 权重host = 'https://www.qq.com'@taskdef user_02_task(self):self.client.get(url='/', name='user_02_task')
  • 两个User定义了host,运行时就可以不填host
  • 定义了weight,和上一节task设置到权重一样,运行时user分配比重按照3:1执行

  • 执行结果

使用--class-picker指定执行

  • 运行locust的命令使用--class-picker参数,启动web-ui时可以手动选择执行的UserClasses
$ locust -f locustfiles/multiple_user.py --class-picker 

  • 如果是no-ui模式下,也可以在命令中直接指定执行的UserClasses,例如
$ locust -f locustfiles/multiple_user.py --class-picker User02 User01 --headless -u 20 -r 20 -t 5s
[2023-07-28 12:17:00,956] HUAWEI-MateBook-X-Pro.local/INFO/locust.runners: Ramping to 20 users at a rate of 20.00 per second
[2023-07-28 12:17:00,957] HUAWEI-MateBook-X-Pro.local/INFO/locust.runners: All users spawned: {"User01": 15, "User02": 5} (20 total users)
  • 命令参数解释一下
    1. --headless no-ui模式执行,并且立即开始测试
    2. -u 指定运行最大并发用户数
    3. -r 每秒启动用户数
    4. -t 执行测试的时长

小结

  1. 一个locustfile中可以定义多个测试User类,默认执行比例都是1:1,可使用weight属性修改它们的执行比重
  2. 当一个locustfile中有多个User类,可以使用--class-picker命令参数来选择到底执行哪些User类来执行测试
  3. 这里提到了no-ui执行,因为一般到实际工作我们压测是在云服务器执行,locust一样提供了--headless命令来通过no-ui执行
  4. User类中给host赋值后,我们不需要在运行时再给locust设置host
  5. locust的更多使用命令参数,建议可以仔细阅读一遍,通过locust -h来查看

 以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以评论区,留言【777】直接拿走就好了

各位想获取资料的朋友请点赞 + 评论 + 收藏,三连!

三连之后我会在评论区挨个私信发给你们~

http://www.lryc.cn/news/99097.html

相关文章:

  • 基于Eisvogel模板的Markdown导出PDF方法
  • linux服务器安装redis
  • QT中信号和槽本质
  • layui各种事件无效(例如表格重载或 分页插件按钮失效)的解决方法
  • flutter开发实战-父子Widget组件调用方法
  • 策略模式的实现与应用:掌握灵活算法切换的技巧
  • 当ChatGPT应用在汽车行业,具体有哪些场景?
  • 行为型-中介者模式(Mediator Pattern)
  • Kibana+Prometheus+node_exporter 监控告警部署
  • 【前端知识】JavaScript——设计模式(工厂模式、构造函数模式、原型模式)
  • 未来的算法备案法规:创新和安全如何兼顾?
  • pycharm 使用远程服务器 jupyter (本地jupyter同理)
  • leetcode 376. 摆动序列
  • 【图像处理】使用自动编码器进行图像降噪(改进版)
  • MySQL大数据量分页查询方法及其优化
  • dataTable转成对象、json、list
  • ubuntu环境安装centos7虚拟机网络主机不可达,ping不通
  • STN:Spatial Transformer Networks
  • C语言学习笔记 VScode设置C环境-06
  • alias取别名后,另一个shell中和shell脚本中不生效的问题以及crontab执行docker失败问题
  • Shell ❀ 一键配置Iptables规则脚本 (HW推荐)
  • linux服务器查找大文件及删除文件后磁盘空间没有得到释放
  • Java那些“锁”事 - 死锁及排查
  • LLM系列 | 18 : 如何用LangChain进行网页问答
  • Aspose.cell excel转pdf日期格式不正确yyyy/MM/dd变成MM/dd/yyyy
  • 搭建golang开发环境
  • Django实现音乐网站 ⑴
  • 基于粒子群优化算法的分布式电源选址与定容【多目标优化】【IEEE33节点】(Matlab代码实现)
  • 打卡一个力扣题目
  • 【SSM—SpringMVC】 问题集锦(持续更新)