news 2026/10/19 10:35:36

【性能测试】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/10/19 9:27:06

java_ssm62海洋馆水族馆管理系统

目录具体实现截图海洋馆水族馆管理系统摘要系统所用技术介绍写作提纲源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!具体实现截图 海洋馆水族馆管理系统摘要 海洋馆水族馆管理系统是基于Java SSM(SpringSpringMVCMyBatis&…

作者头像 李华
网站建设 2026/10/19 9:27:06

ArcGIS大师之路500技---064通过字段计算器获得要素几何属性

文章目录前言一、 字段计算器二、不同类型要素的可计算几何属性:三、代码与说明四、几何单位转换前言 本文介绍使用字段计算器获得要素的几何属性。 一、 字段计算器 使用VB脚本解析程序时,字段名始终用 [ ] 括起来。 使用 Python解析程序时&#xff0c…

作者头像 李华
网站建设 2026/10/19 9:27:06

2026亲测!10款能救命的免费降AI率神器【建议收藏】

这两天我的后台简直炸了: “救命啊,论文AI率爆表咋整?导师下了死命令要降低ai率,但我试了一堆免费降ai率工具,全是人工智障。” 说实话,我也经历过这种崩溃。第一稿AI率飙到88%,直接被退稿&…

作者头像 李华
网站建设 2026/10/19 9:30:12

2025年大模型训练革命:RLVR如何让AI真正学会推理?技术干货必读收藏

RLVR(基于可验证奖励的强化学习)在2025年成为大模型训练新范式,与依赖人类反馈的RLHF不同,RLVR通过自动化客观奖励信号驱动模型学习。这种训练方式让模型自主形成推理路径,而非简单模仿。RLVR具备可持续优化能力,使训练重心从单纯…

作者头像 李华
网站建设 2026/10/18 18:24:20

好写作AI:别再拿Word当“学术大脑”了!它和AI之间差了100个百度文库

各位还在用Word“硬写”、拿翻译软件“硬翻”、靠查重网站“硬扛”的论文战士们,抬头看!当你的写作工具还停留在“电子笔和纸”的阶段时,一种全新的“学术外挂”已经诞生。今天,我们就来一场赤裸裸的对比:传统写作软件…

作者头像 李华