Apache JMeter API 接口压测技术指南

文章目录

前言

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列表中看到,那么接下来就可以执行创建一个线程梯式增加组了。

创建测试计划

  1. 右键 测试计划 --> 添加 --> 线程

    选择"jp@gc - Stepping Thread Group",插件

    默认设定值如下:

    jp@gc- Stepping Thread Group填写数据,场景为在5秒内增加10个并发用户数,并运行30秒,再继续在5秒内增加10个并发用户数,重复循环,直至并发用户数达到200个后运行脚本60秒。然后在每1秒内减少5个并发用户数,直到减为0,结束脚本的运行

  2. 添加 取样器 --> HTTP请求 --> 创建请求

    这里比较简单,类似Postman

    3.添加 配置元件 --> HTTP信息头管理器

    4.添加 监听器

    查看结果树、汇总报告、聚合报告、汇总图、TPS(每秒事务数)、RT(响应时间)、AT(活动线程)

    聚合报告可以填写数据保存文件和位置,方便到处HTML报表

    吞吐量可以在聚合报告看到,具体的测试图,可以看看TPS

    5.分析压测结果

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

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

    ![汇总报告,吞吐量在335,这是一个平均值,整个测试下来的均值

    6...结论

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

生成压测HTML

由于我们在创建测试计划时候引入了聚合报告,并且填入了数据保存文件名称,现在可以直接进行数据导出HTML。

1.导航栏 工具 --> Generate-HTML report

2.选择数据文件及报告保存路径

3.生成HTML报告

直接点击生成报告按钮,提示生成完成即可。随即可进入报告保存目录查看HTML报告:

点击index.html可以进入查看报告

总结

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

相关推荐
测试老哥6 小时前
Jmeter如何进行多服务器远程测试?
自动化测试·软件测试·功能测试·测试工具·jmeter·测试用例·性能测试
Yungoal1 天前
php & apache构建 Web 服务器
服务器·php·apache
测试界清流1 天前
JMeter函数整理
jmeter
橘子-青衫2 天前
掌握HttpClient技术:从基础到实战(Apache)
java·后端·apache
not coder2 天前
验证负载均衡与弹性伸缩
运维·jmeter·kubernetes·负载均衡
学习HCIA的小白2 天前
Apache APISIX
apache
gs801403 天前
12306高并发计算架构揭秘:Apache Geode 客户端接入与实践
架构·apache
涤生大数据3 天前
Apache Doris 在数据仓库中的作用与应用实践
数据仓库·apache·doris
IT成长日记3 天前
【Doris基础】Doris中的Replica详解:Replica原理、架构
apache·doris·replica
IT成长日记3 天前
【Doris基础】Apache Doris中的Coordinator节点作用详解
apache·doris·coordinator