云计算百科
云计算领域专业知识百科平台

Apache JMeter API 接口压测技术指南

文章目录

    • 前言
    • 技术积累
      • JMeter 简介
      • 适用场景
      • JMeter 核心组件
    • 安装与配置
    • 线程组压测
    • 逐步加压压测
      • 安装相应jmeter 插件
      • 创建测试计划
      • 生成压测HTML
    • 总结

前言

Apache JMeter 是一款开源的性能测试工具,主要用于对 Web 应用、API 接口、数据库等进行负载和压力测试。本指南将详细介绍如何使用 JMeter 进行压测。

在这里插入图片描述

技术积累

JMeter 简介

什么是 JMeter Apache JMeter 是由 Apache 开发的 Java 桌面应用程序,支持多线程测试,可以模拟高并发用户访问系统的行为。

适用场景

HTTP/HTTPS 请求性能测试 Web Services(SOAP/REST)测试 数据库性能测试(通过 JDBC) FTP、LDAP、SMTP、POP3、IMAP 等协议测试 分布式测试(跨机器执行)

JMeter 核心组件

在这里插入图片描述

安装与配置

安装前提 安装 JDK 1.8 或更高版本 设置 JAVA_HOME 环境变量 下载与启动 官网地址:https://jmeter.apache.org 解压下载包后,进入 bin 目录: Windows:运行 jmeter.bat Linux/Mac:运行 sh jmeter.sh

线程组压测

该方式直接创建 线程组,然后把请求,请求头,报告,TPS压测图等都创建出来,用来可视化观察压测过程数据,吞吐量的值,可以在聚合报告查看。这种方法比较常用,在线程组中进行设置线程数,每秒执行,那么这个线程数一般就是业务要求的并发用户数,也就是同一时刻,能支持多少用户请求,基于的是系统的用户量,业务的要求,来指定具体的数值。 在这里插入图片描述 在这里插入图片描述

逐步加压压测

这种方式适合找到系统的最大并发量,需要我们先做负载测试(逐步增加并发用户数,找出被测系统的最大可接受的并发用户数,并考察系统性能的变化),通过逐步加压找到最大并发用户数。 最大并发用户数评判标准: 1.出现连续报错 2.平均响应时间超过3秒(3秒是行业标准) 3.tps出现下降趋势

安装相应jmeter 插件

安装jmeter 管理插件:下载地址:https://jmeter-plugins.org/install/Install/,将下载下来的jar包放到jmeter文件夹下的lib/ext路径下,然后重启jmeter。 在这里插入图片描述

打开 选项 –> Plugins Manager –> 在Available Plugins中找到Custom Thread Groups,jpgc – Standard Set 安装这两个插件,然后点击右下角图标进行安装重启,安装完成后就可以在Installer Plugins列表中看到,那么接下来就可以执行创建一个线程梯式增加组了。 在这里插入图片描述

创建测试计划

  • 右键 测试计划 –> 添加 –> 线程 选择”jp@gc – Stepping Thread Group“,插件 在这里插入图片描述

    默认设定值如下: jp@gc- Stepping Thread Group填写数据,场景为在5秒内增加10个并发用户数,并运行30秒,再继续在5秒内增加10个并发用户数,重复循环,直至并发用户数达到200个后运行脚本60秒。然后在每1秒内减少5个并发用户数,直到减为0,结束脚本的运行 在这里插入图片描述

  • 添加 取样器 –> HTTP请求 –> 创建请求 这里比较简单,类似Postman 在这里插入图片描述

    3.添加 配置元件 –> HTTP信息头管理器 在这里插入图片描述

    4.添加 监听器 查看结果树、汇总报告、聚合报告、汇总图、TPS(每秒事务数)、RT(响应时间)、AT(活动线程) 聚合报告可以填写数据保存文件和位置,方便到处HTML报表 在这里插入图片描述

    吞吐量可以在聚合报告看到,具体的测试图,可以看看TPS 在这里插入图片描述

    5.分析压测结果 TPS: 这里接口在整个压测阶段并未出现异常,但是在线程数增加到200个时候还是能够保持350TPS,初步估计该接口TPS为350。

    在这里插入图片描述

    11分多钟时,接口的响应时间也是比较可观 每秒请求是600ms左右,后续增加线程数应该还会增加,但是吞吐量应该增加不会太明显。也可以增加线程数继续压测,提升准确率。 在这里插入图片描述

    ![汇总报告,吞吐量在335,这是一个平均值,整个测试下来的均值 在这里插入图片描述](https://i-blog.csdnimg.cn/direct/10ffbbc9e36d45c895a867505e307440.png)

    6…结论 基于上面的测试过程,可以得出一个大致的结论,这个接口的并发量大概是350左右。当然,本次压测是在windows服务器上进行,如果其他服务器可能会有细微差异。在实际的压测过程中,应该多次压测和分析,在保证没有异常和响应时间符合标准的情况下得出结论。

  • 生成压测HTML

    由于我们在创建测试计划时候引入了聚合报告,并且填入了数据保存文件名称,现在可以直接进行数据导出HTML。 1.导航栏 工具 –> Generate-HTML report 在这里插入图片描述

    2.选择数据文件及报告保存路径 在这里插入图片描述

    3.生成HTML报告 直接点击生成报告按钮,提示生成完成即可。随即可进入报告保存目录查看HTML报告: 在这里插入图片描述

    点击index.html可以进入查看报告 在这里插入图片描述

    总结

    Apache JMeter 压测接口还是比较简单的,主要分为线程组压测和逐步加压压测。如果我们需要验证接口的最大并发量推荐选择逐步加压压测,这样对接口的并发量会有个明确的结论。当前,如果能够预估接口并发量则可以直接使用线程组以最大并发量压测,这样会简单很多。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » Apache JMeter API 接口压测技术指南
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!