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

使用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(平均值):表示所有请求的平均响应时间,单位为毫秒。这个值越小说明系统响应速度越快。

  4. 90% 响应时间

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

    95% 响应时间

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

    99% 响应时间

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

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

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

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

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

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

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

  11. 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字样就是已全部生成完毕。

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


尾声:

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

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

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

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

相关文章:

  • IntelliJ IDEA 远程调试(Remote Debugging)教程
  • 网站服务器++免费做电子手抄报的网站
  • 单页网站的优点网络公司是做什么的?
  • 阿瓦隆 Q 90T矿机:低功耗高效挖矿,是否值得选择?
  • 印度实时股票数据源接口对接文档-IPO新股、k线数据
  • HTTPS接口国密安全设计(含防重放设计)
  • 网站设计公司(信科网络)中国制造网外贸平台怎么注册
  • 网站模版如何去除title版权信息499元做网站
  • 武进建设局网站首页胖鼠wordpress
  • 机器学习第一阶段
  • Linux内核RDMA用户态内存映射机制深度解析:零拷贝高性能的基石
  • 组态软件和实时数据库区别大吗?
  • SpringBoot】Spring Boot 项目的打包配置
  • 递归专题5 - FloodFill算法专题
  • 系统架构设计师论文-论软件架构的复用
  • 沙市做网站weiswordwordpress微信登录设置
  • 理解MySQL的原理
  • Mac通过命令行开启ssh服务
  • 哈尔滨有哪些做网站的公司站长工具seo综合查询问题
  • 珠海做网站的wordpress 写作
  • 【计算机基础】之核心架构
  • 临西网站建设公司公司核名查询官网
  • PPIO独家上新GPU实例模板,一键部署Kimi-Linear
  • 工业级电池健康管理利器:GRX-3000 系列电池诊断站技术解析
  • 旅游网站建设功能意义wordpress 模板 免费
  • 周口市住房和城市建设局网站自做网站打开速度慢
  • STM32H743-ARM例程35-DHCP
  • 概率论直觉(一):大数定律
  • 数据结构—栈和队列
  • JavaSE知识分享——继承(下)