使用JMeter进行API性能压测(执行篇)

前言:

Jmeter的安装配置就不多说了...自行教程吧

6个步骤,直接上车!^_^

1、创建线程组:

创建线程组之后,我们就可以设置线程组名称和压测参数。线程组有以下几个重要参数需要配置:

  1. 线程数(Users):模拟的用户数量,即并发用户数

  2. Ramp-Up时间(秒):JMeter启动所有线程所需的秒数,用于控制用户加载速度

  3. 循环次数:每个线程执行测试用例的次数

  4. 调度器:可以设置测试的持续时间和其他调度选项

2、创建HTTP请求--压测地址

输入请求的协议类型(HTTP/HTTPS)、服务器地址、端口号、请求路径、参数

3、创建HTTP信息头管理器(POST)

配置Content-Type头部信息来告知JMeter我们当前发起的请求是参数为JSON格式的POST请求。

注意必须是JSON格式:请求体数据必须是有效的JSON格式,注意括号匹配和逗号分隔符

4、添加结果树和聚合报告

然后我们就可以进行压测了,但是为了能够查看测试结果和性能指标,我们需要添加结果树和聚合报告。

结果树(View Results Tree)用于查看每个请求的详细响应信息,包括请求头、响应头、响应体等。它可以帮助我们:

  1. 验证请求是否正确发送

  2. 检查响应数据是否符合预期

  3. 调试测试脚本中的问题

  4. 查看详细的响应时间信息

聚合报告(Aggregate Report)用于查看整体的性能统计数据,包括平均响应时间、最小响应时间、最大响应时间、吞吐量等关键性能指标。

5、点击启动进行压测

(1)点击这个绿色按钮即可开始压测

++注意:梯度施压,不要一次性加到最大压力,便于观察拐点,到达出现error%时,多跑几遍。++

(2)点击结果树就能看到请求结果

(3)点击聚合报告就能看到性能测试报告

聚合报告包含了以下关键性能指标:

  1. Label(标签):表示请求的名称标识,通常是HTTP请求的路径或自定义的请求名称,用于区分不同的请求类型。

  2. Samples(样本数):表示在测试期间发送的请求数量,即JMeter执行该请求的总次数。

  3. Average(平均值):表示所有请求的平均响应时间,单位为毫秒。这个值越小说明系统响应速度越快。

|----------|---------------------------------------------------------------------------------|
| 90% 响应时间 | 把所有响应时间的数值从小到大排序,取前 90% 位置的值,即为该分位的值。例如: 将采集到的 100 个数据,从小到大排列,取出第 90 个用户的数据做统计。 |
| 95% 响应时间 | 把所有响应时间的数值从小到大排序,取前 95% 位置的值,即为该分位的值。例如: 将采集到的 100 个数据,从小到大排列,取出第 95 个用户的数据做统计。 |
| 99% 响应时间 | 把所有响应时间的数值从小到大排序,取前 99% 位置的值,即为该分位的值。例如: 将采集到的 100 个数据,从小到大排列,取出第 99 个用户的数据做统计。 |

  1. Min(最小值):表示所有请求中的最小响应时间,单位为毫秒。反映了系统在最佳状态下的响应速度。

  2. Max(最大值):表示所有请求中的最大响应时间,单位为毫秒。反映了系统在最差状态下的响应速度。

  3. Std. Dev.(标准偏差):表示响应时间的离散程度,标准偏差越小说明响应时间越稳定,性能越可预测。

  4. Error %(错误率):表示请求失败的百分比,计算公式为(失败请求数/总请求数)×100%。错误率越低说明系统越稳定。

  5. Throughput(吞吐量):表示单位时间内处理的请求数量,单位为请求/秒。吞吐量越高说明系统处理能力越强。

  6. Received KB/sec(每秒接收数据量):表示服务器每秒向JMeter发送的数据量,单位为KB。反映了网络传输和服务器返回数据的大小。

  7. Sent KB/sec(每秒发送数据量):表示JMeter每秒向服务器发送的数据量,单位为KB。反映了请求数据的大小。

6、生成压测报告

(1)在桌面创建一个空文件夹来存放报告

我自己的路径为:C:\Users\EDY\Desktop\HttpReports

(2)再在Jmeter的bin路径下cmd打开命令行输入(替换你自己的路径):

复制代码
jmeter -n -t D:\Jmeter\apache-jmeter-5.6.3\bin\fantis.jmx -l C:\Users\EDY\Desktop\HttpReports\html.csv -e -o C:\Users\EDY\Desktop\HttpReports

(3)回车运行

看见end of run字样就是已全部生成完毕。

打开以下两个报告即可。(注意后面想再次运行需要++清空文件夹++才能运行成功)


尾声:

单个接口压测非常之简单易懂~

下一篇出一下压测报告的分析

关注主包不迷路(。・ω・。)/~

相关推荐
张永清-老清4 小时前
每周读书与学习->JMeter主要元件详细介绍(三)逻辑控制器
测试工具·jmeter·压力测试·性能调优·jmeter性能测试·性能分析·每周读书与学习
xiecoding.cn5 小时前
Apache JMeter下载和安装图文教程(附安装包,适合新手)
jmeter·apache jmeter·jmeter下载·jmeter 下载·jmeter下载安装·jmeter官网下载·jmeter工具下载
胜天半月子3 天前
性能测试 | 性能测试工具JMeter直连数据库和逻辑控制器的使用
数据库·测试工具·jmeter·性能测试
网易测试开发猿6 天前
资深测试整理,性能测试-平均并发数+评估系统TPS/并发数(详情)
软件测试·软件测试工程师·jmeter·压力测试·性能测试·负载测试·jmeter性能测试
M.Blog6 天前
JMETER+ANT接口自动化测试环境搭建实战讲解
jmeter
卓码软件测评6 天前
第三方软件课题结题验收测试机构【使用JMeter的Web应用负载测试】
功能测试·jmeter·负载均衡·压力测试
程序员小远6 天前
使用Jmeter进行http接口测试
自动化测试·软件测试·python·测试工具·jmeter·http·接口测试
进击的雷神7 天前
Jmeter定时器详解:作用范围与使用场景
jmeter