news 2026/4/3 5:44: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/3/21 0:21:40

基于ONNX的进一步加速:TensorRT

PyTorch模型是完全可以利用TensorRT进行加速的,这能显著提升模型在生产环境中的推理效率。下面这个表格汇总了两种主流的集成方式,帮你快速了解其核心区别。 特性 PyTorch → ONNX → TensorRT Torch-TensorRT (直接集成) 适用场景 生产环境部署、追求极…

作者头像 李华
网站建设 2026/3/29 19:31:46

强烈安利10个AI论文工具,继续教育学生轻松搞定论文写作!

强烈安利10个AI论文工具,继续教育学生轻松搞定论文写作! AI 工具如何让论文写作更高效? 在当今这个信息爆炸的时代,继续教育的学生们面临着越来越高的学术要求。无论是撰写毕业论文、研究课题,还是发表学术文章&#x…

作者头像 李华
网站建设 2026/4/3 2:44:54

建议收藏!大模型保姆级入门指南:大白话讲透核心原理与应用,小白也能看懂

本文是一篇零基础的大模型入门教程。文章首先通俗解释了大模型“海量参数、大数据、高算力”的三大特征;深入剖析了Transformer架构、预训练与微调、Token化、分布式训练及自监督学习等核心技术原理;最后总结了其在自然语言处理、计算机视觉等领域的应用…

作者头像 李华
网站建设 2026/3/28 23:07:05

COMSOL模拟:固液相变中水在流道内凝结成冰的阻碍效应及相变温度与潜热考虑

COMSOL 固液相变 流道中水逐渐凝结成冰 阻碍水的运动 考虑到了相变的温度以及潜热在模拟冷冻管道这种酸爽工况时,最带劲的就是看着流动速度曲线从生龙活虎变成半身不遂——这事我上个月刚用COMSOL折腾过。当时要给冷链管道做防冻设计,核心就是搞明白冰层…

作者头像 李华