news 2026/5/30 16:47:10

JMeter的基本使用与性能测试,完整入门篇保姆式教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
JMeter的基本使用与性能测试,完整入门篇保姆式教程

JMeter 完整入门保姆级教程(2025-2026 最新实用版)

这是一份尽量写得详细、步骤清晰、几乎零基础也能跟着做的 JMeter 入门教程。

第一部分:JMeter 到底是什么?能干什么?

JMeter 的最核心定位是:

  • 开源、免费的性能测试工具(Apache 项目)
  • 主要用于Web 应用压力测试 / 并发测试 / 性能测试
  • 也可以做接口功能测试、数据库测试、FTP 测试、JMS、LDAP、邮件服务器测试等

最常见的几种使用场景:

场景JMeter 是否合适典型指标关注点难度
单个接口压测非常合适TPS、响应时间、错误率★☆☆☆☆
登录 → 购物车 → 下单 全链路非常合适整条链路 TPS、90%/99% 响应时间★★★☆☆
模拟 5000 用户同时抢购合适系统是否崩溃、数据库锁、缓存击穿★★★★☆
接口自动化回归 + 少量并发合适成功率、响应时间是否稳定★★☆☆☆
百万级 TPS 压测不太合适需要分布式压测或专业商用工具★★★★★

第二部分:安装与启动(2025-2026 推荐方式)

方式一:最推荐(图形界面 + 最新版)

  1. 访问官网:https://jmeter.apache.org/download_jmeter.cgi

  2. 下载最新稳定版(目前大概率是 5.6.x 或 5.7.x 系列)

    • 选择apache-jmeter-5.6.3.zip.tgz
  3. 解压到任意目录(不要放在有中文或空格的路径

    • 推荐路径示例:
      • Windows:D:\tools\apache-jmeter-5.6.3
      • Mac/Linux:/opt/jmeter-5.6.3~/jmeter-5.6.3
  4. 启动方式(任选其一)

# Mac / Linuxcd/opt/jmeter-5.6.3/binchmod+x jmeter ./jmeter# 有图形界面# Windows 双击D:\tools\apache-jmeter-5.6.3\bin\jmeter.bat

方式二:Docker 一键启动(最干净)

dockerrun -d -p60000:60000\-v$(pwd)/jmeter:/jmeter\--name jmeter\justb4/jmeter -s -Jserver.rmi.ssl.disable=true

然后浏览器访问:http://localhost:60000

第三部分:第一次压测完整流程(最经典的 HTTP 接口测试)

目标:压测一个登录接口,模拟 100 个用户并发登录 60 秒

步骤 1:新建测试计划

  1. 打开 JMeter → 文件 → 新建(或直接用默认的 Test Plan)
  2. 右键Test Plan→ Add → Threads (Users) →Thread Group

步骤 2:设置线程组(模拟多少用户)

参数推荐填写值(示例)含义说明
线程数(Number of Threads)100模拟 100 个虚拟用户
Ramp-Up 周期(秒)1010 秒内把 100 个用户全部启动(越平滑越好)
循环次数永远(Forever)或填 1 次、10 次,看需求
调度器勾选启用持续时间
持续时间(Duration)60压测 60 秒后自动停止

步骤 3:添加 HTTP 请求

右键 Thread Group → Add → Sampler →HTTP Request

填写示例(假设你要测的接口是 POST 登录):

  • Protocol:http 或 https
  • Server Name or IP:api.example.com
  • Port Number:80 或 443
  • Method:POST
  • Path:/api/login
  • Body Data(或 Parameters):
{"username":"testuser${__threadNum}","password":"123456"}

小技巧:用${__threadNum}让每个线程用不同的用户名,避免全部用同一个账号登录

步骤 4:添加监听器(看结果的地方)

右键 Thread Group → Add → Listener(最常用的 4 个)

  1. View Results Tree—— 调试时必开,看每条请求详情
  2. Summary Report—— 最常用,看总体 TPS、平均响应时间
  3. Aggregate Report—— 非常重要,看 90%、95%、99% 响应时间
  4. Graph Results—— 图形化曲线(启动时勾选 Write All Data)

步骤 5:添加常用配置元件(强烈推荐)

右键 Thread Group → Add → Config Element

  • HTTP Header Manager
    常用 Header:

    Content-Type: application/json Accept: application/json Authorization: Bearer ${token} (如果需要 token 登录)
  • HTTP Cookie Manager
    自动管理 Cookie(登录后非常有用)

  • HTTP Request Defaults
    把 IP、端口、协议统一填在这里,下面所有 HTTP Request 都不用重复填

步骤 6:运行 & 看结果

点击绿色三角(Run)或快捷键 Ctrl+R

运行结束后,看Summary ReportAggregate Report最关键几列:

  • Samples:总请求数
  • Average:平均响应时间(ms)
  • 90% Line / 95% Line / 99% Line:最关注的指标(大部分用户感受到的延迟)
  • Throughput:每秒事务数(TPS / QPS)
  • Error%:错误率(>0.1% 就要重视)

第四部分:真实项目中最常用的 10 个进阶技巧

  1. 如何提取 token 并在后续请求使用?

    • 添加JSON Extractor(后置处理器)
    • JSON Path expressions:$.access_token$.data.token
    • 变量名:token
    • 后续请求 Header:Authorization: Bearer ${token}
  2. 如何参数化(不同用户不同账号密码)?

    • CSV Data Set Config
    • 准备 users.csv:
      username,password user1,123456 user2,123456 ...
    • 变量名:username,password
    • Sharing mode:All threads 或 Current thread group
  3. 如何做思考时间(更接近真实用户)?

    • 在每个请求之间加Constant TimerGaussian Random Timer
    • 推荐:200–800ms 随机思考时间
  4. 如何做分布式压测?(一台机器压不动时)

    • 主控机 + 多台压测机(都安装 JMeter)
    • 压测机启动 jmeter-server
    • 主控机菜单 → Run → Remote Start All
  5. 如何保存结果为 .jtl 或 .csv?

    • 监听器中勾选 “Save as CSV file” 或运行时加-l result.jtl
  6. 如何命令行无界面运行(CI/CD 常用)?

jmeter -n -t test.jmx -l result.jtl -e -o report/

第五部分:最容易踩的 20 个坑(新手必看)

  1. 没改默认语言 → 中文界面乱码
  2. 线程数设 10000+ 却只跑了 200 → JVM 内存不够(调 jmeter.bat / jmeter.sh 堆内存)
  3. HTTPS 报证书错 → 勾选 “Use KeepAlive” 或导入证书到 JMeter
  4. 结果全是 0ms → 忘了勾 “Retrieve All Embedded Resources”
  5. 登录态不生效 → 没加 Cookie Manager 或 Header 没带 token
  6. CSV 文件读取不到 → 路径写相对路径或绝对路径搞错
  7. 运行卡死 → 监听器开太多(尤其是 View Results Tree 大样本时)
  8. 报告图表不显示 → 结果文件没生成或路径不对

希望这份教程能让你从 0 到能独立完成一个相对完整的接口压测。

你现在最想继续深入的点是哪个?

  • 登录态保持 + token 提取完整示例
  • CSV 参数化 + 关联的详细步骤
  • 命令行 + Jenkins 集成
  • 分布式压测搭建
  • 结果分析怎么看(指标解读)
  • 非 HTTP 协议(如 Dubbo、JDBC)

告诉我你的具体需求,我可以继续给你更细的步骤或示例。

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

‌2026年测试数据生成需求暴增:成因、热度与从业者突围指南

现象概述‌ 2026年初,软件测试领域迎来颠覆性变革——测试数据生成需求呈现爆发式增长。这一现象并非偶然,而是多重技术与社会因素交织的结果。随着AI技术渗透至各行各业,测试数据作为保障系统稳定性的基石,其重要性被空前放大。…

作者头像 李华
网站建设 2026/5/24 3:56:38

收藏!华为员工转岗大模型拿百万年薪,小白/程序员入门LLM必看指南

近日,我在技术社群刷到一则刷屏热议帖:一位华为在职员工,从传统开发岗成功转型大模型算法岗后,高调晒出百万年薪收入条,还毫无保留地分享了自己的转岗全流程心得。这则帖子瞬间在程序员圈引爆讨论——评论区里&#xf…

作者头像 李华
网站建设 2026/5/29 21:46:51

基于vue3实施部门权限分配及审批的监管系统-开题报告 黄耀兴202006050071 (2)

目录研究背景与意义系统目标技术选型系统模块设计创新点预期成果项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作研究背景与意义 部门权限分配及审批监管系统在现代企业管理中具有重要作用。随着企业规模扩…

作者头像 李华
网站建设 2026/5/30 1:35:43

基于Vue技术的营养食品搭配系统的设计与实现任务书

目录系统背景与目标技术选型核心功能模块关键实现技术预期成果备注项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作系统背景与目标 现代人对健康饮食需求日益增长,但缺乏专业营养知识。该系统基…

作者头像 李华
网站建设 2026/5/23 14:59:58

域控制器架构十年演进

域控制器(Domain Control Unit, DCU) 的十年(2015–2025),是汽车电子电气架构(EEA)从“诸侯割据”走向“高度中央集权”的剧变史。 它完成了从上百个分散的 ECU 到几个核心“域”的集成&#x…

作者头像 李华
网站建设 2026/5/22 22:19:31

视觉感知十年演进

视觉感知(Visual Perception) 的十年(2015–2025),是从“识别照片里的像素”向“重建实时三维物理世界”的跨越。 视觉感知是自动驾驶的“眼睛”。这十年间,视觉算法完成了从 2D 到 3D、从局部到全局、从“…

作者头像 李华