当前位置: 首页 > news >正文

JMeter 性能测试工具使用教程

目录

  1. JMeter 简介
  2. 安装与启动
  3. 创建第一个测试计划
  4. HTTP接口测试实战
  5. 结果分析与报告

1. JMeter 简介

Apache JMeter 是一款开源性能测试工具,主要用于:

  • Web应用和API的负载测试
  • 数据库性能测试
  • FTP/SMTP等协议测试
  • 功能行为验证

核心优势
✅ 开源免费
✅ 跨平台(Windows/macOS/Linux)
✅ 丰富的协议支持
✅ 强大的结果分析能力


2. 安装与启动

2.1 安装步骤

  1. 下载地址:https://pan.quark.cn/s/fe2bb247aaa6
  2. 解压下载的ZIP文件
  3. 运行启动脚本:
    • Windows: bin/jmeter.bat
    • macOS/Linux: bin/jmeter.sh

2.2 主界面介绍

JMeter主界面

序号说明
目录树,存放测试计划过程中的元件
测试计划编辑区
菜单栏
1 -新建新建测试计划
2 -模板选择测试计划模板创建新的测试计划
3 -打开选择存在的测试计划打开
4-保存保存测试计划
5 -剪贴删除选定的元件,删除父节点及其子节点元件
6 -复制复制选定的元件及子元件
7 -粘贴粘贴复制的元件及子元件
8 -全部展开展开目录树
9 -全部折叠收起目录树
10 -切换禁用或启用元件,子元件同样被禁用
11 -启动本机开始运行当前测试计划,按线程组设置启动
12 -不停顿执行立即开始在本机运行当前测试计划
13 -停止停止运行状态的测试计划,当前线程执行完后停止
14 -关闭停止运行测试计划,立即终止,类似于杀进程
15 -清除清除运行过程中元件显示的响应数据
16 -全部查找清除所有元件的响应数据,包括日志
17 -查找查找
18 -重置搜索清除查找
19 -函数助手这些函数在参数化时会用到
20 -帮助帮助文档快捷方式

注意:确保已安装JDK 8+环境


3. 创建第一个测试计划

3.1 基本组件创建

  1. 创建线程组
    • 右键"Test Plan" → Add → Threads → Thread Group
    • 设置参数:
      • 线程数:10(虚拟用户数)
      • Ramp-up时间:5秒(用户启动时间)
      • 循环次数:2(每个用户执行次数)
        创建一个线程组

3.2 添加HTTP请求

  1. 右键"Thread Group" → Add → Sampler → HTTP Request
  2. 配置基本参数:
    - 名称: 首页请求
    - 协议: https
    - 服务器名称: www.example.com
    - 路径: /

发起http请求

4. HTTP接口测试实战

4.1 GET请求示例

HTTP Request配置:

  • 方法: GET
  • 路径: /api/users
  • 参数:
    • page=1
    • limit=10

4.1 POST请求示例

HTTP Request配置:

  • 方法: POST
  • 路径: /api/login
  • Body Data:
    {
    “username”: “testuser”,
    “password”: “pass123”
    }

4.3 添加请求头管理

  1. 右键HTTP请求 → Add → Config Element → HTTP Header Manager
  2. 添加Headers:

Content-Type: application/json
Authorization: Bearer xxxxx

添加请求header

4.4 添加结果监听器

右键Thread Group → Add → Listener →

  1. View Results Tree # 查看详细请求/响应
  2. Aggregate Report # 查看汇总数据
  3. Response Time Graph # 响应时间图表

添加监听器

5. 结果分析与报告

5.1 关键性能指标

指标理想值
Samples总请求数 -
Average平均响应时间 <500ms
Error%错误率<0.1%
Throughput吞吐量(请求/秒) 越高越好

5.1 生成HTML报告

jmeter -n -t test.jmx -l results.jtl -e -o reports/

测试报告

附赠一份压力测试报告文档可供参考: https://pan.quark.cn/s/f2ff8cc856e4

http://www.dtcms.com/a/315288.html

相关文章:

  • 【网络运维】Linux:逻辑卷管理
  • Spring @Component注解全解析
  • 计算机网络:子网掩码在路由转发中的关键作用
  • css的选择器
  • 虚拟机中查看和修改文件权限
  • MoonBit Pearls Vol.04:用MoonBit 探索协同式编程
  • Spring Security 认证与授权实现机制
  • 随机森林知识点整理:从原理到实战
  • 课题学习4——将原系统的BERT换为SBERT
  • 【网络运维】Linux:RAID存储技术
  • 单类别目标检测中的 Varifocal Loss 与 mAP 评估:从原理到实践(特别前景和背景类区分)
  • Transformer核心机制:QKV全面解析
  • 图片处理工具类:基于 Thumbnailator 的便捷解决方案
  • Unsloth 大语言模型微调工具介绍
  • 数据结构:反转链表(reverse the linked list)
  • 机器视觉的产品包装帖纸模切应用
  • 深度学习-卷积神经网络CNN-卷积层
  • JMeter的基本使用教程
  • 嵌入式学习之51单片机——串口(UART)
  • STM32F103C8-定时器入门(9)
  • slwl2.0
  • Azure DevOps — Kubernetes 上的自托管代理 — 第 5 部分
  • 05-Chapter02-Example02
  • 微软WSUS替代方案
  • Redis与本地缓存的协同使用及多级缓存策略
  • 【定位设置】Mac指定经纬度定位
  • Spring--04--2--AOP自定义注解,数据过滤处理
  • Easysearch 集成阿里云与 Ollama Embedding API,构建端到端的语义搜索系统
  • Shell第二次作业——循环部分
  • 【科研绘图系列】R语言绘制解释度条形图的热图