news 2026/4/23 13:16:10

【性能测试】2_Locust _Locust基本使用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【性能测试】2_Locust _Locust基本使用

文章目录

  • 一、实现步骤
  • 二、编写测试脚本
  • 三、运行Locust
    • 3.1 打开Locust的web界面
    • 3.2 效果展示
      • 3.2.1 Statistics统计报表
      • 3.2.2 Charts图表展示
      • 3.2.3 失败、异常、下载数据

一、实现步骤

1、创建 任务集 和 任务

  • 定义任务类,从 TaskSet 继承
  • 在类内添加任务,@task 任务的具体实现与定义方法语法一致

2、定义用户类

  • 绑定任务 task_set = 任务类类名
  • 设置用户间的最小延迟时间 min_wait =
  • 设置用户间的最大延迟时间 max_wait =
  • 指定主机地址 host =
1、定义任务和任务集(定义一个事务,事务中包含多个接口请求) 2、定义用户类(线程组 用户,控制事务执行)

二、编写测试脚本

需求:访问 https://www.baidu.com 模拟100人访问

fromlocustimportTaskSet,HttpLocust,task# 1.定义 任务集 和 任务classTaskClass(TaskSet):# TaskClass 表示任务集""""定义任务"""# 访问首页-任务(会被自动调用)@taskdefindex(self):result=self.client.get("/")# 此行代码相当于requests.Session().get()print("响应结果:",result.text)# 打印结果# 2.定义 用户类classUser(HttpLocust):# 定义用户类,继承了 HttpLocust 类# 绑定任务task_set=TaskClass# task_set 属性名不能变; 注意:TaskClass 后,没有 ()# 设置 用户间 最小延迟时间 - 单位 msmin_wait=1000# 设置 用户间 最大延迟时间max_wait=3000# 指定 主机地址host="https://www.baidu.com"
  • 自定义的User类继承了 HttpLocust 类, 这个类代表用户, 生成一个实例, 模拟用户发送http请求

  • task_set: 该属性指向 TaskSet 类, 定义用户的行为

  • min_wait: 用户执行任务之间等待时间的下界, 单位: 毫秒, 默认值: 1000

  • max_wait: 用户执行任务之间等待时间的上界, 单位: 毫秒, 默认值: 1000

  • host: 被测应用的网址, 例如: http://www.baidu.com

  • weight: 用户被选中的概率, 权重越大, 被选中的机会就越大。 默认值: 10 。

    权重——当有多个用户类(线程组)来执行时,通过这个权重来控制不同用户类之间的请求数比例

三、运行Locust

终端运行命令:

locust -f .\LocustTest\1.py ____________________________________________________________ 参数介绍: -f:用来指定locust文件所在路径 --host:用来指定测试应用的网址 locust -f .\LocustTest\1.py --host=http://example.com

3.1 打开Locust的web界面

使用上面的命令行启动Locust之后, 打开浏览器并访问: http://localhost:8089 (如果你在本地运行Locust)。 可以看到如下界面

参数说明:

  • Number of users to simulate: 要模拟的用户数量
  • Hatch rate (users spawned/second): 孵化率(用户生成/秒), 即每秒启动虚拟用户数
  • 点击Start swarming 开始运行性能测试

3.2 效果展示

3.2.1 Statistics统计报表

设置虚拟用户数100, 每秒启动10个用户, 点击Start swarming 开始运行

界面说明:

  • Type: 请求类型
  • Name: 请求路径
  • Requests: 当前请求的数量
  • Fails: 当前请求失败的数量
  • Median (ms): 中间值, 单位毫秒, 一半服务器响应时间低于该值, 而另一半高于该值
  • Average (ms): 所有请求的平均响应时间, 毫秒
  • Min (ms): 请求的最小的服务器响应时间, 毫秒
  • Max (ms): 请求的最大服务器响应时间, 毫秒
  • Average size (bytes): 平均单个请求的大小, 单位字节
  • Current RPS: 每秒钟请求的个数
  • 点击Edit可以编辑请求用户数
  • 点击STOP按钮可以停止测试
  • 点击New test可以重新开始测试

3.2.2 Charts图表展示

三个图标分别是:

  • Total Requests per Second: 每秒发送请求数
  • Response Times(ms): 平均响应时间
  • Number of Users: 虚拟用户数

3.2.3 失败、异常、下载数据

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 22:46:55

学霸同款2026 AI论文工具TOP10:开题报告神器测评

学霸同款2026 AI论文工具TOP10:开题报告神器测评 2026年学术写作工具测评:为何需要这份榜单? 随着人工智能技术在学术领域的深入应用,AI论文工具已成为研究生和研究人员不可或缺的辅助工具。然而,面对市场上琳琅满目…

作者头像 李华
网站建设 2026/4/23 11:05:29

学长亲荐10个AI论文网站,MBA论文写作必备!

学长亲荐10个AI论文网站,MBA论文写作必备! AI 工具如何让论文写作更高效 在当前的学术环境中,越来越多的 MBA 学生开始借助 AI 工具来提升论文写作效率。这些工具不仅能够帮助学生快速生成初稿、优化语言表达,还能有效降低 AIGC&a…

作者头像 李华
网站建设 2026/4/16 13:49:06

java_ssm61派斯学院高校教材管理系统

目录 具体实现截图摘要 系统所用技术介绍写作提纲源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 具体实现截图 摘要 高校教材管理系统是教育信息化建设的重要组成部分,旨在优化教材采购、发放、库存及结算流程&#xff0…

作者头像 李华
网站建设 2026/4/8 2:49:45

告别听歌枷锁 R3PLAY + cpolar 实现真正的听歌自由

R3PLAY(又称 R3PLAYX)是一款聚焦核心听歌需求的第三方网易云播放器,覆盖 Windows、macOS、Linux 及 Docker 部署环境,核心功能围绕 “减法设计” 展开 —— 剔除广告、会员推广等冗余模块,仅保留封面展示、歌词同步和基…

作者头像 李华
网站建设 2026/4/22 6:53:33

Cypress-CYT4B-Mcal配置说明(十)Mcu模块配置

Mcu模块涉及配置较多,主要包括时钟配置和模式配置。 1.时钟配置 1.1MCU时钟配置 根据实际外部晶振配置使能ECO,配置ECO频率(等于晶振频率)。选择适当的分频系数,配置PLL2和PLL3时钟。同样配置SSCG_PLL0和SSCG_PLL1时钟…

作者头像 李华