Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >面向初学者的JMeter实战手册:从环境搭建到组件解析

面向初学者的JMeter实战手册:从环境搭建到组件解析

作者头像
摘星.
发布于 2025-05-20 06:35:09
发布于 2025-05-20 06:35:09
3730
举报
文章被收录于专栏:博客专享博客专享
🌟 ​大家好,我是摘星!​ 🌟

今天为大家带来的是面向初学者的JMeter实战手册:从环境搭建到组件解析,废话不多说,让我们直接开始~

1. JMeter简介

Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试。

JMeter 最初被设计用于 Web 应用测试,但后来扩展到了其他测试领域,可用于测试静态和动态资源,如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库和 FTP 服务器等等。JMeter 可对服务器、网络或对象模拟巨大的负载,在不同压力类别下测试它们的强度和分析整体性能。另外,JMeter 能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证程序是否返回了期望结果。为了最大限度的灵活性,JMeter 允许使用正则表达式创建断言。

2. JMeter安装与配置

2.1. 安装

  • 解压:将压缩包解压到任意目录(路径中不要包含中文或空格),windows下,zip包解压缩即可使用,目录结构如下:
  • 运行:其中的bin目录就是执行的脚本,其中包含启动脚本:

双击即可运行,但是有两点注意:

  • 启动速度比较慢,要耐心等待
  • 启动后黑窗口不能关闭,否则Jmeter也跟着关闭了

2.2. 配置环境变量(可选)

  • JMETER_HOME 设置为 JMeter 解压路径。
  • %JMETER_HOME%\bin 添加到系统 PATH 环境变量中。

3. JMeter核心概念

3.1. 测试计划

  • 测试的顶层容器,所有测试元件(如线程组、监听器等)都需在测试计划下创建。

3.2. 线程组

  • 定义虚拟用户(线程)的数量、启动时间、循环次数等参数。
  • 右键测试计划 → 添加 → 线程(用户)→ 线程组。

3.3. 取样器

  • 用于发送请求(如 HTTP 请求、JDBC 请求等)。
  • 常用 Sampler:HTTP 请求JDBC RequestFTP 请求

3.4. 监听器

  • 用于收集和展示测试结果(如表格、图形、日志等)。
  • 常用监听器:查看结果树聚合报告图形结果

3.5. 配置元件

  • 配置测试参数(如 HTTP 请求头、CSV 数据文件等)。
  • 常用配置元件:HTTP 请求默认值CSV 数据集配置

3.6. 断言

  • 验证服务器响应是否符合预期(如检查状态码、响应内容等)。
  • 常用断言:响应断言JSON 断言

3.7. 前置处理器/后置处理器

  • 在发送请求前或处理响应后执行操作(如提取动态参数)。
  • 常用后置处理器:正则表达式提取器JSON 提取器

4. JMeter 常用功能

4.1. 语言设置

  • JMeter默认语言是英文,可以在Opting选项中设置成简体中文
  • 以上配置只针对当前运行程序,若要永久改动,则需要修改配置文件,路径在安装路径下的bin目录中的jmeter.properties文件,添加language=zh_CN到文件中即可

4.2. 主题设置

在选项中选择自己喜欢的主题即可,这里选择的是idea同款主题

4.3. 基本流程

4.3.1. 创建线程组

在测试计划上点鼠标右键,选择添加>线程(用户)>线程组,填写线程信息,以下是线程属性解读:

  • 线程数:模拟的并发用户数量,即同时发送请求的虚拟用户数,用于控制测试的并发压力,线程数越多,对服务器的负载压力越大。

例如:设置为 100 表示 JMeter 会模拟 100 个用户同时操作。

  • Ramp-Up时间:所有线程从启动到全部运行完成的时间间隔(单位:秒),模拟用户逐步增加的真实场景避免瞬间高并发导致服务器崩溃,观察系统在负载逐步上升时的性能表现。

例如:线程数=100,Ramp-Up=50,表示 JMeter 会在 50 秒内均匀启动 100 个线程(每秒约启动 2 个)。

  • 循环次数:每个线程重复执行测试计划的次数,延长测试时间,模拟用户持续操作,通过多次循环获取更稳定的性能数据(如平均响应时间)。

例如:设置为 5 表示每个线程会执行 5 次完整的测试计划。

勾选 永远:线程会无限循环执行,直到手动停止或达到测试时长限制(需配合调度器使用)。

4.3.2. 添加取样器

在已创建的HTTP请求上点鼠标右键,添加http取样器,并编写取样器内容,以下是属性解读:

基本配置项

说明

名称

取样器的描述性名称(如 "登录接口"),便于后续结果分析。

注释

可选,添加备注信息。

协议

请求的协议类型,默认为 http 或 https(需完整填写,如 https://)。

服务器名称或 IP

目标服务器的域名或 IP 地址(如 api.example.com),⚠️ 如果测试计划中已配置 HTTP 请求默认值,此处可留空。

端口号

服务器的端口号(HTTP 默认为 80,HTTPS 默认为 443)。

HTTP 请求方法

选择请求方法:GET、POST、PUT、DELETE 等。

路径

请求的 URL 路径(如 /api/login),⚠️ 不要包含协议和域名(已在前面配置)。

内容编码

请求体的编码格式(如 UTF-8),通常保持默认。

自动重定向

若勾选,JMeter 会自动跟随 3xx 重定向(不记录重定向过程)。

跟随重定向

若勾选,JMeter 会记录重定向的每个步骤(在结果树中显示多次请求)。

使用 KeepAlive

保持 HTTP 长连接,默认勾选(性能测试建议启)。

对POST使用multipart/form-data

勾选后启用文件上传或表单提交(适用于POST请求)

与浏览器兼容的头

兼容浏览器的头信息

4.4. 添加监听器

在已创建的HTTP请求上点鼠标右键,添加监听器:

监听器名称

主要功能

适用场景

查看结果树

显示每个请求的详细请求/响应数据(Header、Body、状态码等)。

调试阶段,检查请求是否正确。

聚合报告

统计所有请求的响应时间、吞吐量、错误率等关键指标(平均值、中位数、90% Line等)。

性能测试分析,评估整体性能。

图形结果

以折线图形式展示响应时间、吞吐量随时间的变化趋势。

直观观察性能波动。

汇总报告

类似聚合报告,但更简洁,仅显示关键统计值(平均、最小、最大、错误率)。

快速查看测试概况。

响应时间图

绘制每个请求的响应时间变化曲线。

分析响应时间稳定性。

断言结果

显示断言(如状态码、内容匹配)是否通过。

验证接口功能是否符合预期。

后端监听器

将测试结果发送到外部系统(如InfluxDB + Grafana)。

实时监控 & 可视化大屏展示。

监听器核心指标解析

指标

含义

理想情况

样本数

总共发送的请求数量。

与预期并发量一致。

平均响应时间

所有请求的平均响应时间(毫秒)。

越低越好(取决于业务需求)。

中位数

50%的请求响应时间低于此值。

比平均值更稳定,不受极端值影响。

90% Line

90%的请求响应时间低于此值(反映绝大多数用户的体验)。

越接近平均值越好。

吞吐量

每秒处理的请求数(Requests/sec)。

越高越好(系统处理能力)。

错误率

失败请求的百分比。

**0%**(无错误)。

以下是部分监听器显示效果:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-05-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Jmeter(十九) - 从入门到精通 - JMeter监听器 -上篇(详解教程)
  监听器用来监听及显示JMeter取样器测试结果,能够以树、表及图形形式显示测试结果,也可以以文件方式保存测试结果,JMeter测试结果文件格式多样,比如XML格式、CSV格式。默认情况下,测试结果将被存储为xml格式的文件,文件的后缀: ".jtl"。另外一种存储格式为CSV文件,该格式的好处就是效率更高,但存储的信息不如xml格式详细。
北京-宏哥
2020/08/11
4.7K0
Jmeter(十九) - 从入门到精通 - JMeter监听器 -上篇(详解教程)
使用jmeter创建一个简单的性能测试
启动jmeter后,jmeter会自动生成一个空的测试计划,用户可以基于该测试计划建立自己的测试计划。
程序媛淼淼
2022/07/01
1.2K0
使用jmeter创建一个简单的性能测试
全网最全最细的jmeter接口测试教程以及接口测试流程详解
Jmeter是由Apache公司开发的一个纯Java的开源项目,即可以用于做接口测试也可以用于做性能测试。
全栈程序员站长
2022/06/29
1.4K0
全网最全最细的jmeter接口测试教程以及接口测试流程详解
Jmeter系列之《4.第一次性能测试实践》
如果不知道怎么填写,就填下服务器名称或ip,选择请求的方法即可,其它不填写为默认。
清菡
2022/04/28
4810
Jmeter系列之《4.第一次性能测试实践》
【Jmeter入门】1.JMeter界面及监听器介绍
2.1 菜单栏 菜单栏从左到右分别是: JMeter:jmeter信息展示; File(文件):主要是新建、打开和保存; Edit(编辑):主要是添加元件、保存、打开、禁用等; Search(查找):查找和清除查找; Run(运行):主要是运行,分布式运行; Options(选项):主要是函数和日志; Help(帮助),我们可以点击帮助,查看Jmeter帮助文档。
辉哥
2021/04/16
1.8K0
【Jmeter入门】1.JMeter界面及监听器介绍
如何正确使用JMeter性能测试?紧扣面试实际要求
前段时间专门挑了一段时间在准备面试。经过两次面试后,有一些比较深刻的认识。对于企业要求来说,除了对专业理论知识考究之外,对测试工具这块也是看重的。
憨憨默默成神
2021/10/12
1.7K0
如何正确使用JMeter性能测试?紧扣面试实际要求
Jmeter-TCP( Socket) 连接发送数据
Target Server:TCP采样器中填写服务器地址、端口。 Connect:设置连接超时时间。 Response:设置响应超时时间。 Re-use connection:表示重复使用该连接发送请求。 Close connection:表示每次发送完该条数据后,关闭连接。 End of line(EOL) byte value:终止符。
程序媛淼淼
2022/07/01
8K0
Jmeter-TCP( Socket) 连接发送数据
JMeter:性能测试利器全解析
在软件测试领域,JMeter 是一款广为人知且功能强大的性能测试工具。本文将带你深入了解 JMeter 的基础概念、使用方法,并通过案例分析展示其强大之处,同时详细介绍如何用 JMeter 测试 Web 应用。
小江的学习日记
2024/08/25
3350
JMeter:性能测试利器全解析
Jmeter压测快速体验
前言 最近在看neo4j相关的官网文档以及一些调优参数,同时也学了下Jmeter,为了测试下neo4j服务的性能,虽然不是专业搞测试的,但是我觉得每个优秀的开发者都应该学会主动压测自己服务和代码的性能,并非写完代码之后直接扔给测试就完事了,兵法云:知彼知己,才能百胜不殆嘛。 jmeter是什么 jmeter是一款开源的测试工具,源码100%基于Java并开源,最初的设计目的是用来测试Web应用的,由于其非常轻量级和免费,后来又扩展到其他测试领域。 jmeter的一些特点: 1.能够对HTTP,FTP,TCP
我是攻城师
2018/05/14
1.7K0
Mac OS下Jmeter的入门操作
压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。所以压力测试是一个非常重要的步骤,下面带大家来使用一款压力测试工具Jmeter。
henryhhan
2021/06/24
13.9K0
Mac OS下Jmeter的入门操作
JMeter接口性能测试从入门到精通
我们注意到在同一个系统中,协议+IP+端口号是不会发生改变的,所以我们需要添加HTTP请求默认值
用户11316056
2025/04/07
4280
JMeter接口性能测试从入门到精通
使用Jmeter测试Restful接口
一、添加线程组等元件 添加线程组 1. 添加线程组,Jmeter执行是通过线程组进行驱动的,测试计划必须最少有一个线程组,选中Test Plan,点击右键,添加》Threads》线程组 添加用户参数
jmeter技术研究
2019/10/19
1.3K0
使用Jmeter测试Restful接口
JMeter实战(一) 体系结构
此为开篇,介绍JMeter的组成结构,阅读后对JMeter形成整体认知和初步印象。
dongfanger
2020/10/23
5960
压测软件Jmeter使用实例(WIN7环境)百科我们为什么使用JmeterJmeter安装配置Sampler监听器(Listener)点击启动按钮,开启测试Jmeter自定义变量Redis的压测
百科 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最
JavaEdge
2018/05/16
1.2K0
性能测试-Jmeter性能测试实战
一、接口文档 接口地址:http://www.baidu.com/s?ie=utf-8&wd=jmeter性能测试 请求参数: >ie:编码方式,默认为utf-8 >wd: 搜索词 返回结果:搜索结
用户6367961
2020/01/17
7.1K0
性能测试-Jmeter性能测试实战
Jmeter五步实现性能测试
Jmeter除了是一款常用的接口测试工具,它其实更强大的功能是实现性能测试,今天用jmeter实现一个简单的性能测试案例,本次只涉及性能测试的执行,前期的测试需求分析,测试数据准备,以及测试结果的分析调优后续会更新相关文章。
吾非同
2020/10/13
1.8K0
Jmeter压测工具入门篇
背景:本文档主要内容是jmeter脚本入门配置以及调试方法,借助已有的jmeter脚本模板,快速理解并写出一个成功的jmeter脚本用例。
魏景维
2021/12/10
3.3K1
Jmeter使用及压测
Apache JMeter是Apache组织开发的基于Java的压力测试工具。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言;
iginkgo18
2021/06/15
9990
apache-jmeter-3.3的简单压力测试使用方法
Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率。熟练使用Jmeter后, 能用Jmeter搞定的事情,你就不会使用LoadRunner了。
Java编程指南
2019/08/02
1.1K0
apache-jmeter-3.3的简单压力测试使用方法
如何利用JMeter录制HTTP请求做接口测试
今天给大家介绍利用JMeter录制手机APP和PC端web HTTP请求做接口性能测试的方法,文章有点长,希望对大家的工作有一定的帮助。
互联网金融打杂
2022/08/01
1.2K0
如何利用JMeter录制HTTP请求做接口测试
推荐阅读
相关推荐
Jmeter(十九) - 从入门到精通 - JMeter监听器 -上篇(详解教程)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档