常用组件
线程组:定义“多少用户”以及“用户如何到达”。
取样器:定义用户“做什么”(发送什么请求)。
逻辑控制器:定义请求的“执行顺序和逻辑”(剧本的流程)。
配置元件:为取样器提供“支持和数据”(道具和背景)。
前置/后置处理器:在请求“前后”进行额外处理(准备和收尾)。
断言:验证服务器返回的结果是否“正确”(检查演出效果)。
监听器:收集、查看和分析“结果数据”(观众反馈和评分)。
线程组
这是所有测试的起点,用于模拟并发用户。
- 线程数:模拟的虚拟用户数。
- Ramp-Up 时间:所有虚拟用户在多长时间内启动完毕。例如:线程数=100,Ramp-Up=50,表示 JMeter 会在50秒内均匀地启动这100个用户。
- 循环次数:每个用户执行测试计划的次数。可设定具体次数,或勾选“永远”进行持续压测。
- 调度器:可以设置测试的开始时间、结束时间、持续时间 和 启动延迟,用于精确控制压测时长。
取样器
负责向服务器发送请求,是负载模拟的核心。
-
HTTP请求:最常用。用于模拟对 Web 服务器、API 接口的请求。需配置协议、服务器名称/IP、端口、请求方法(GET/POST等)、请求路径、参数、消息体数据等。
-
JDBC请求:用于直接对数据库进行性能测试。需要配合 JDBC连接配置元件 使用,可执行 SQL 查询、更新等操作。
-
FTP请求:测试文件传输协议服务器的性能。
-
Java请求:调用自定义的 Java 类进行测试(高级用法)。
-
TCP取样器:测试基于 TCP 的套接字服务器性能。
逻辑控制器
控制取样器的执行逻辑,实现复杂的测试场景。
-
简单控制器:一个简单的容器,用于组织采样器和其他元件,不改变执行逻辑。
-
循环控制器:控制其子元件循环执行指定的次数。
-
仅一次控制器:其下的元件在整个线程运行期间只执行一次。常用于登录操作。
-
事务控制器:将其下的所有取样器合并为一个“事务”,在结果中报告事务整体的响应时间。常用于模拟用户操作流程。
-
If控制器:根据条件(JavaScript或表达式)决定是否执行其内的元件。
-
ForEach控制器:通常与用户定义的变量或正则表达式提取器配合,遍历一组变量。
-
随机控制器 / 随机顺序控制器:随机执行其下的一个子元件,或按随机顺序执行所有子元件。
配置元件
为取样器提供配置信息或共享数据。
-
HTTP请求默认值:非常实用。为同一线程组内的所有 HTTP 请求设置默认值,如协议、服务器、端口等,避免在每个请求中重复填写。
-
HTTP信息头管理器:用于添加或重写 HTTP 请求头。例如设置 Content-Type: application/json、Authorization: Bearer token。
-
CSV 数据文件设置:参数化神器。从外部 CSV/TXT 文件读取数据,供取样器使用。常用于模拟不同用户登录、查询不同数据等场景。
-
Filename:文件路径
-
Variable Names:变量名(逗号分隔)
-
每次请求读取一行,自动分配给对应的变量。
-
-
用户定义的变量:定义一组在整个测试计划中可引用的静态变量。
-
JDBC连接配置:为 JDBC 请求配置数据库连接信息(JDBC驱动、URL、用户名、密码)。
-
Cookie管理器:自动存储和发送 Cookie,像浏览器一样保持会话状态。通常每个线程组添加一个即可。
前置/后置处理器
在请求之前/之后执行一些操作。
-
前置处理器:在取样器执行前运行。
-
用户参数:可以在线程运行时动态定义变量值。
-
JSR223 预处理器:使用脚本语言(如Groovy)在请求前进行复杂逻辑处理。
-
-
后置处理器:在取样器执行后运行,用于从服务器响应中提取数据。
-
正则表达式提取器:最强大、最常用。使用正则表达式从响应文本(Body、Header)中提取动态值,并保存为变量。例如提取 token、sessionId、orderId。
-
JSON提取器:从 JSON 格式的响应中提取数据,更便捷。
-
XPath提取器:从 HTML/XML 响应中提取数据。
-
JSR223 后置处理器:使用脚本进行复杂的后处理。
断言
验证响应是否符合预期,是判断测试是否通过的关键。
-
响应断言:最通用。可对响应文本、响应代码、响应头、响应时间等进行断言检查。
-
JSON断言:专门用于断言 JSON 响应。
-
持续时间断言:断言响应时间是否超过指定阈值。
-
大小断言:断言响应数据包的大小。
监听器
收集、展示和保存测试结果。
-
查看结果树:调试必备。详细展示每个请求的请求和响应信息。性能测试时务必禁用或仅用于调试,因为它会消耗大量内存。
-
聚合报告:性能分析核心。生成所有请求的汇总统计信息,包括:样本数、平均响应时间、90%/95%/99%百分位响应时间、最小/最大响应时间、错误率、吞吐量(TPS/QPS)等。
-
汇总报告:与聚合报告类似,但以更简洁的表格形式呈现。
-
响应时间图 / 汇总图:以图形方式展示响应时间、吞吐量随时间的变化趋势。
-
后端监听器:将结果实时发送到时序数据库(如InfluxDB),再结合 Grafana 进行漂亮的仪表盘展示,适用于实时监控。
-
保存结果到文件:可以将原始结果(如.jtl文件)保存下来,供后续导入 JMeter 或其他工具分析。
使用如下:

1022

被折叠的 条评论
为什么被折叠?



