Jmeter接口并发测试

news/2025/2/27 6:29:36

Apache JMeter 是一款开源的性能测试工具,广泛用于接口并发测试、负载测试和压力测试。以下是使用 JMeter 进行接口并发测试的详细步骤:

一、准备工作

  1. 安装 JMeter

    • 下载地址:Apache JMeter 官网

    • 确保已安装 Java 环境(JMeter 依赖 Java 运行)。

  2. 准备测试接口

    • 获取待测试的接口地址(URL)、请求方法(GET/POST 等)及参数。

    • 如果需要认证(如 Token),准备好认证信息。


二、创建测试计划

  1. 启动 JMeter

    • 解压下载的 JMeter 文件,运行 bin/jmeter.bat(Windows)或 bin/jmeter.sh(Linux/Mac)。

  2. 添加线程组

    • 右键点击“测试计划” -> 添加 -> 线程(用户) -> 线程组。

    • 配置线程组参数:

      • 线程数(用户数):并发用户数量(如 100)。

      • Ramp-Up 时间(秒):用户启动时间(如 10 秒,表示 10 秒内启动 100 个用户)。

      • 循环次数:每个用户的请求次数(如 1 次或无限循环)。

  3. 添加 HTTP 请求

    • 右键点击“线程组” -> 添加 -> 取样器 -> HTTP 请求。

    • 配置 HTTP 请求参数:

      • 协议:HTTP 或 HTTPS。

      • 服务器名称或 IP:接口的域名或 IP 地址。

      • 端口号:接口的端口号(默认 HTTP 为 80,HTTPS 为 443)。

      • 路径:接口的路径(如 /api/v1/user)。

      • 请求方法:GET、POST、PUT 等。

      • 参数:如果需要传递参数,在“参数”选项卡中添加键值对。

  4. 添加监听器

    • 右键点击“线程组” -> 添加 -> 监听器 -> 查看结果树、聚合报告、图形结果等。

    • 查看结果树:查看每个请求的详细响应数据。

    • 聚合报告:查看测试结果的统计信息(如平均响应时间、吞吐量等)。

    • 图形结果:以图表形式展示测试结果。


三、配置并发测试

  1. 设置并发用户数

    • 在“线程组”中调整“线程数”为并发用户数(如 100)。

  2. 设置定时器(可选)

    • 如果需要控制请求的发送频率,可以添加定时器:

      • 右键点击“线程组” -> 添加 -> 定时器 -> 固定定时器。

      • 设置“延迟时间”(如 1000 毫秒,表示每秒发送一次请求)。

  3. 设置断言(可选)

    • 如果需要验证接口返回结果,可以添加断言:

      • 右键点击“HTTP 请求” -> 添加 -> 断言 -> 响应断言。

      • 设置断言规则(如检查响应代码是否为 200)。

  4. 设置 CSV 数据文件(可选)

    • 如果需要使用不同的参数进行并发测试,可以配置 CSV 数据文件:

      • 右键点击“线程组” -> 添加 -> 配置元件 -> CSV 数据文件设置。

      • 指定 CSV 文件路径,并在 HTTP 请求中使用变量(如 ${username})。


四、运行测试

  1. 保存测试计划

    • 点击菜单栏的“文件” -> 保存,将测试计划保存为 .jmx 文件。

  2. 启动测试

    • 点击工具栏的“启动”按钮(绿色三角形)开始测试。

  3. 查看结果

    • 在“监听器”中查看实时测试结果。

    • 重点关注以下指标:

      • 响应时间:接口的平均响应时间。

      • 吞吐量:单位时间内处理的请求数。

      • 错误率:请求失败的比例。


五、优化与分析

  1. 调整并发用户数

    • 逐步增加并发用户数,观察系统的性能变化。

  2. 监控服务器资源

    • 使用工具(如 JConsole、Grafana)监控服务器的 CPU、内存、网络等资源使用情况。

  3. 分析瓶颈

    • 如果响应时间过长或错误率升高,可能是服务器性能不足或代码存在瓶颈。

  4. 生成报告

    • 使用 JMeter 的“生成报告”功能,导出 HTML 格式的测试报告。


六、常见问题

  1. JMeter 运行卡顿

    • 减少监听器的数量(如只保留“聚合报告”)。

    • 增加 JMeter 的 JVM 内存(修改 jmeter.bat 或 jmeter.sh 中的 HEAP 参数)。

  2. 接口返回错误

    • 检查接口地址、参数、认证信息是否正确。

    • 使用“查看结果树”查看详细的请求和响应数据。

  3. 如何模拟高并发

    • 使用分布式测试:在多台机器上运行 JMeter,通过主节点控制。

    • 调整线程组的 Ramp-Up 时间,模拟用户逐步增加。


通过以上步骤,您可以使用 JMeter 完成接口并发测试,并根据测试结果优化系统性能。如果需要更高级的功能(如分布式测试、动态参数化),可以参考 JMeter 官方文档或社区资源。

一些示例截图:


http://www.niftyadmin.cn/n/5869654.html

相关文章

AI快速变现之路,AI视频创作

以下是针对AI视频创作的快速变现方案,包含详细操作步骤、工具推荐及行业应用案例,结合2025年AIGC技术趋势设计: 一、核心操作流程详解 1. 需求分析与脚本生成 工具推荐:ChatGPT 4.0 + Script Studio(视频脚本专用工具)操作步骤: 通过问卷星收集客户需求(品牌调性/目标…

P9420 [蓝桥杯 2023 国 B] 子 2023

P9420 [蓝桥杯 2023 国 B] 子 2023 题目 分析代码 题目 分析 刚拿到这道题,我大脑简单算了一下,这个值太大了,直观感觉就很难!! 但是,你仔仔细细的一看,先从最简单的第一步入手,再…

物联网+大数据,智慧公租房管理系统构建未来社区

传统的公租房管理模式效率低下,物联网和大数据技术的快速发展,为公租房管理模式提供了新的解决方案 物联网技术通过传感器、射频识别(RFID)、智能设备等手段,将公租房社区内的各种设施、设备、人员连接起来&#xff0…

Java中的缓存技术:Guava Cache vs Caffeine vs Redis

在Java中,缓存技术是提升应用性能的重要手段。常见的缓存技术包括Guava Cache、Caffeine和Redis。它们各有优缺点,适用于不同的场景。以下是对它们的详细对比: 1. Guava Cache 类型: 本地缓存 特点: 基于内存的缓存,适用于单机应…

grafana K6压测

文章目录 install and runscript.jsoptions最佳实践 report 解析 https://grafana.com/docs/k6/latest/get-started install and run install # mac brew install k6当前目录下生成压测脚本 # create file script.js k6 new [filename] # create file ‘script.js’ in …

Springboot快速接入豆包大模型

背景 突然接到上面的通知,想要在系统里面接入各大模型的能力,我这边随机选了个豆包,然后快速对接了一下,很顺利,一把过,现在文档的快速入门还是很ok的,在此记录一下过程,给宝子们参考…

基于卷积神经网络的建筑物识别系统,resnet50,mobilenet模型【pytorch框架+python源码】

更多目标检测、图像分类识别、目标检测与追踪等项目可看我主页其他文章 功能演示: 基于卷积神经网络的建筑物系统,resnet50,mobilenet【pytorch框架,python,tkinter】_哔哩哔哩_bilibili (一&#xff09…

【网络】TCP vs UDP详解( 含python代码实现)

【网络】TCP vs UDP详解 1. 基本概念2. 主要特性对比3. 工作原理TCP 的工作原理UDP 的工作原理 4. 优缺点对比5. 适用场景6. 代码示例TCP 服务器TCP 客户端UDP 服务器UDP 客户端 7. 总结 TCP(传输控制协议)和 UDP(用户数据报协议)…