JMeter 核心组件详解

返回

一、为什么需要理解 JMeter 核心组件

在实际企业压测中,一个压测脚本往往不仅仅包含简单的 HTTP 请求,还会涉及:

  • 多个接口调用
  • 参数传递
  • 请求控制
  • 断言验证
  • 复杂业务流程

因此需要理解 JMeter 的核心组件结构。

一个典型的 JMeter 脚本结构如下:

Test Plan
└ Thread Group
  ├ Config Element
  ├ Sampler
  ├ Timer
  ├ Assertion
  └ Listener

每一种组件都承担不同职责。


二、Thread Group(线程组)

1. 作用

Thread Group 用于 模拟并发用户

每个线程可以理解为:

一个虚拟用户

这些用户会按照配置不断发送请求。


2. 重要参数

Number of Threads(线程数)

表示:

同时模拟多少用户

例如:

线程数 = 100

表示:

100 个用户同时访问系统

Ramp-Up Period(启动时间)

表示:

多少秒内启动所有线程

例如:

线程数 = 100
Ramp-Up = 10 秒

含义:

10 秒内逐渐启动 100 个用户
平均每 0.1 秒启动 1 个用户

这样可以避免瞬间压垮系统。


Loop Count(循环次数)

表示每个用户执行多少次请求。

例如:

Loop Count = 10

表示:

每个用户执行 10 次请求

三、Sampler(采样器)

Sampler 是 JMeter 中 真正发送请求的组件

常见 Sampler 包括:

Sampler作用
HTTP RequestHTTP 接口
JDBC Request数据库
FTP RequestFTP 服务
TCP RequestTCP 协议

在 API 压测中最常用的是:

HTTP Request

HTTP Request 主要参数

参数说明
Method请求方法
Server Name域名
Port端口
Path请求路径

示例:

GET https://api.example.com/product/list

配置:

Method = GET
Server = api.example.com
Path = /product/list

四、Config Element(配置元件)

Config Element 用于 配置请求参数或环境变量

常见组件:

组件作用
HTTP Request Defaults默认请求配置
HTTP Header Manager请求头
CSV Data Set Config参数化
User Defined Variables变量

HTTP Header Manager

用于设置请求头。

例如:

Content-Type: application/json
Authorization: Bearer token

如果接口需要认证,通常在这里配置。


CSV Data Set Config

用于 参数化测试数据

例如:

username,password
user1,123456
user2,123456
user3,123456

JMeter 会从 CSV 文件读取数据。

这样可以模拟:

不同用户登录

五、Timer(定时器)

Timer 用于 控制请求发送速度

如果没有 Timer,JMeter 会:

尽可能快地发送请求

这样压测结果通常不真实。


常见 Timer

Constant Timer

固定等待时间。

例如:

等待时间 = 1000ms

每个请求之间等待 1 秒。


Uniform Random Timer

随机等待时间。

例如:

500ms ~ 1500ms

模拟真实用户行为。


Constant Throughput Timer

控制 目标 QPS

例如:

目标 QPS = 1000

JMeter 会自动控制请求速度。

这是企业压测非常常用的组件。


六、Assertion(断言)

断言用于 验证请求结果是否正确

如果返回结果不符合预期,则认为请求失败。

常见断言:

类型用途
Response Assertion验证响应内容
JSON Assertion验证 JSON
Duration Assertion验证响应时间

示例

假设接口返回:

{
  "code": 200,
  "msg": "success"
}

可以添加断言:

code = 200

如果返回不是 200,则压测失败。


七、Listener(监听器)

Listener 用于 查看压测结果

常见 Listener:

Listener作用
View Results Tree查看请求详情
Summary Report汇总报告
Aggregate Report聚合报告

Aggregate Report 常见指标

指标含义
Samples请求数量
Average平均响应时间
Min最小响应时间
Max最大响应时间
Error%错误率
Throughput吞吐量

例如:

Throughput = 2000/sec

说明:

QPS ≈ 2000

八、企业常见压测脚本结构

在实际公司中,一个标准的 JMeter 脚本通常如下:

Test Plan
└ Thread Group
  ├ HTTP Request Defaults
  ├ HTTP Header Manager
  ├ CSV Data Set Config
  ├ Timer
  ├ HTTP Request
  ├ Assertion
  └ Listener

这样可以实现:

  • 用户参数化
  • 控制 QPS
  • 验证接口正确性
  • 统计性能数据

九、总结

JMeter 的核心组件包括:

组件作用
Thread Group模拟并发用户
Sampler发送请求
Config Element配置参数
Timer控制请求速度
Assertion验证结果
Listener查看结果

理解这些组件后,就可以构建 企业级压测脚本


上一篇 | 下一篇

📖 JMeter 基础使用 | 📖 业务压测设计