02 jmeter常用组件

常用组件

线程组:定义“多少用户”以及“用户如何到达”。

取样器:定义用户“做什么”(发送什么请求)。

逻辑控制器:定义请求的“执行顺序和逻辑”(剧本的流程)。

配置元件:为取样器提供“支持和数据”(道具和背景)。

前置/后置处理器:在请求“前后”进行额外处理(准备和收尾)。

断言:验证服务器返回的结果是否“正确”(检查演出效果)。

监听器:收集、查看和分析“结果数据”(观众反馈和评分)。

线程组

这是所有测试的起点,用于模拟并发用户。

  • 线程数:模拟的虚拟用户数。
  • 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 或其他工具分析。

使用如下:
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值