news 2026/2/8 9:06:59

【性能测试】4_JMeter _JMeter使用示例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【性能测试】4_JMeter _JMeter使用示例

文章目录

  • 一、JMeter第一个案例
  • 二、线程组
    • 2.1 线程组的特点
    • 2.2 线程组的分类
    • 2.3 线程组的参数详解
      • 2.3.1 在取样器错误后要执行的动作
      • 2.3.2 线程属性
      • 2.3.3 调度器配置
  • 三、HTTP请求
    • 3.1 发送GET请求
      • 3.1.1 案例1
      • 3.1.2 案例2
    • 3.2 发送POST请求
      • 3.2.1 json类型设置
      • 3.2.2 消息体数据
  • 四、察看结果树
  • 五、jmeter响应中出现乱码

一、JMeter第一个案例

需求: 使用JMeter访问百度首页接口, 并查看请求和响应信息

操作步骤 :

1. 启动JMeter 2. 在‘测试计划’下添加‘线程组’ 3. 在‘线程组’下添加‘HTTP请求’取样器 4. 填写‘HTTP请求’的相关请求数据 5. 在‘线程组’下添加‘察看结果树’监听器 6. 点击‘启动’按钮运行, 并查看结果

二、线程组

说明: 线程组是控制JMeter将用于执行测试的线程数, 也可以把一个线程理解为一个测试用户。

2.1 线程组的特点

  • 模拟多人操作
  • 线程组可以添加多个, 多个线程组可以并行或串行
  • 取样器(请求) 和逻辑控制器必须依赖线程组才能使用
  • 线程组下可以添加其他元件下组件

2.2 线程组的分类

1、线程组:普通的、 常用的线程组, 可以看做一个虚拟用户组, 线程组中的每一个线程都可以理解为一个虚拟用户。(受并行、串行配置的影响)

2、setUp线程组:一种特殊类型的线程组, 可用于执行预测试操作。(不受并行、串行配置的影响)

3、tearDown线程组:一种特殊类型的线程组, 可用于执行测试后工作。 (不受并行、串行配置的影响)

2.3 线程组的参数详解

2.3.1 在取样器错误后要执行的动作

  • 继续: 如果取样器里的执行出现错误失败的时候, 请求不会停止, 继续执行。
  • 启动下一进程循环: 忽略错误, 线程当前循环错误, 执行下一个循环。
  • 停止线程: 只限当前线程停止, 不影响其他线程执行
  • 停止测试: 当前执行的线程全部执行完毕后结束
  • 立即停止测试: 立刻停止

2.3.2 线程属性

  • 线程数: 虚拟用户数。(代表并发用户数,体现服务器的负载量)
线程数m和循环次数n的关系: -如果同时配置,实际发送的HTTP请求数应该为m*n -虽然发送请求的次数相同,但是不能相互替换。
  • Ramp-Up时间(秒): 爬坡时间,启动全部虚拟用户数所需要的时间。
目的:为了模拟性能测试的场景,更接近用户的使用习惯(用户慢慢接入系统)
  • 循环次数:代表执行时间,指定次数或勾选永远。
设置为固定次数n时:脚本运行时发送请求的次数为n 设置循环次数为“永远”时,脚本会一直运行下去,不停止
  • 延迟创建线程直到需要: 勾选了表示 边创建边执行。适合线程数非常多,避免死机。
如果不勾选,在jmeter点击运行时立即分配(使用不多,了解即可,无法观察效果)
  • 调度器: 勾选后, 调度器配置才能使用;

2.3.3 调度器配置

  • 持续时间(秒) : 设置脚本压测持续时间
  • 启动延迟(秒) : 启动延迟时间
一般与循环次数为“永远”的设置配合使用 - 持续时间设置为n时:脚本的请求发送的时间为n秒 - 延迟启动设置为n时:脚本的请求发送在等待n秒后再进行

三、HTTP请求

位置: 选中线程组->右键->添加->取样器->HTTP请求 作用: 向服务器发送http及https请求

- 协议:向目标服务器发送HTTP请求时的协议,可以是http或者是https,默认值为http。 - 服务器名称或IP:HTTP请求发送的目标服务器名称或IP地址。 - 端口号:目标服务器的端口号,默认值为80。 - 方法:发送HTTP请求的方法,可用方法包括GET、 POST、 HEAD、 PUT、 OPTIONS、 TRACE、 DELETE等。 - 路径:目标URL路径(不包括服务器地址和端口) - Content encoding:内容的编码方式,默认值为iso8859 - 同请求一起发送参数:GET请求时url中附带参数可以通过此方式添加 - 消息体数据:POST/PUT请求JSON数据存放地

3.1 发送GET请求

当是get请求,这个参数被设置为查询参数。

3.1.1 案例1

  • 协议未填写,则默认为HTTP协议
  • 端口未填写,则默认为80端口
  • 将GET请求参数放在路径中填写

3.1.2 案例2

  • 协议选择HTTPS
  • 端口号为443
  • 将GET请求参数放在下面的参数列表中进行填写

3.2 发送POST请求

  • 方法选择POST
  • 将参数内容放入到消息体数据中,在发送时参数会添加到请求体中发送。

3.2.1 json类型设置

必须给“线程组” 添加 “HTTP信息头管理器” 在“HTTP信息头管理器” 添加: Connect-Type:application/json

3.2.2 消息体数据

{"age":18}// 按照json语法写入数据

四、察看结果树

位置: 选中测试计划/线程组->右键->添加->监听器->察看结果树。 作用:查看请求和响应结果。

取样器结果:查看响应信息头信息、响应状态码 - 请求:查看请求相关信息(url、方法、参数) - 响应:查看响应信息

五、jmeter响应中出现乱码

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

Kimi生成的论文AI率爆表?这份降重操作指南收好

Kimi生成的论文AI率爆表?这份降重操作指南收好 TL;DR:Kimi生成的论文直接提交,AI率基本在70%以上。单靠Kimi自己改写只能降到15%-25%,想降到安全线以下必须配合专业降AI率工具。本文教你Kimi嘎嘎降AI/比话降AI的组合打法&#xff…

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

滚珠丝杆选型:导程与负载参数搭配需避开哪些常见误区?

在工业自动化设备的核心传动部件中,滚珠丝杆的选型直接决定了设备的精度、寿命和运行稳定性。很多工程师在选型时容易陷入导程与负载参数搭配的误区,导致设备后期出现精度漂移、磨损过快等问题。作为深耕传动领域25年的专业经销商,海威机电是…

作者头像 李华
网站建设 2026/2/7 22:54:15

AI应用架构师必看:智能质量控制平台为什么90%的项目死在数据层?

AI应用架构师必看:智能质量控制平台为什么90%的项目死在数据层? 一、引言:从“经验翻车”到“数据救命”的质检革命 凌晨3点,某新能源汽车工厂的质检车间依然灯火通明。生产线末端的机械臂正将刚组装好的电池包逐一送到人工质检台,8名质检员戴着放大镜,盯着电池表面的划…

作者头像 李华
网站建设 2026/2/3 17:12:08

USB 赋能 + AI 降噪双 buff!这款语音处理模组,让全场景沟通清晰到底

而这款具有 USB 功能的 AI 降噪语音处理模块,正是为解决这些问题而来。它将 USB 免驱便捷性与 AI 智能声学处理技术深度融合,既打破了传统模组的接口适配壁垒,又以硬核性能攻克噪音、回音等行业难题,成为多领域设备升级的 “声学核…

作者头像 李华
网站建设 2026/2/7 12:47:54

RabbitMQ消息堆积问题处理

RabbitMQ消息堆积问题处理-ELK日志使用mq传输 20260115 下午2点 发现rabbitmq消息堆积,看是_log 的消息堆积,应该是ELK出现问题 df -h 查看ELK服务器 /dev/vda1 80G 80G 20K 100% / 需要释放磁盘空间,清理/var/log日志 后恢复至 …

作者头像 李华
网站建设 2026/2/5 23:15:23

昊衡科技 多芯光纤三维形状传感系统,精准感知!

关键词:OFDR ,多芯光纤,光纤三维形状传感,三维形变重构,多芯光纤传感方案 对于空间形态感知要求极高的微创手术领域而言,如何精准、实时地监测柔性结构的三维形变,一直是技术落地过程中的关键痛…

作者头像 李华