JMeter AWS API 负载测试方案

目的:

  • 在QA环境进行负载测试,找出AWS中的服务瓶颈、优化配置选型。

一、总体方案

在这里插入图片描述

1,开发人员利用VSCode生成API 的 Swagger ,利用 openapi-generator导入JMeter

2,测试人员按照系统特点,进行系统使用的粗线条定义(覆盖关键指标),在JMeter中设置符合指标的并发数量、高峰时段等,运行测试。

3,AWS 监测人员观察系统负载情况,并登记成报表,找出系统弱项。

4,测试人员观察JMeter的运行状况,当有大量访问不满足时长、可连通性时,登记报表由开发协助找出原因。

5,改进AWS的的资源配置,必要时优化架构。

二、环境准备

2.1 Nest 在本地DEV环境下,生成Swagger

详见项目框架中的配置

2.2 安装JMeter

下载地址:https://jmeter.apache.org/

详见:https://www.cnblogs.com/stulzq/p/8971531.html

2.3 安装 OpenAPI Generator

下载地址:https://pan.baidu.com/s/1tj5G99_aCbRc8FKRNrP8vg

提取码: 3ugu

详见:https://blog.csdn.net/leenhem/article/details/119816061

三、AWS服务准备

AWS 服务采用Cloudformation 首次部署、GitHub Action自动部署,在运行测试前只需要确保环境是否最新即可。

四、本地配置

4.1 准备Swagger JSON文件

开发本地生成

4.2 生成JMeter脚本

先将Json 文件放到与OpenAPI Generator 同目录

启用控制台或Powershell,运行如下指令:

java -jar openapi-generator-cli-5.1.0.jar generate -i swagger.json -g jmeter

4.3 导入脚本

打开Jmeter程序,依次选择File–>Open,选择.jmx文件,导入。

在这里插入图片描述

4.4 编辑变量

点击“User Defined Variables”,修改系统Host、Port等变量。

查找.jmx同目录下的CSV文件,修改各API所需的参数变量并修改为Mock值

4.5 设置访问量

选择需要验证的API,修改线程数等因业务个性化的值。

目的是在一次负载测试运行周期内,能够在该API中模拟正常的调用频次、并发量。

4.6 运行与查看

点击View Results Tree 查看结果

点击上方的运行(三角符号)开始本轮负载测试

4.7 导出报告

在这里插入图片描述

五、AWS跟踪

5.1 Cloudwatch指标监测

进入Cloudwatch,点击Dashboards中的本项目监控界面,查看数据库、容器服务、API,相关内存、CPU、磁盘读写等指标。

找出整个系统在高负载时,某个AWS服务成为瓶颈及指标。

在这里插入图片描述

5.2 Cloudwatch日志监测

进入日志组,查看日志的详细情况、日志的合规性、日志的完整性、审计日志等的功能。

5.3 AWS优化

根据测试结果,优化服务指标配置、必要时优化架构。

可能的原因:

1,架构的合理性

2,AWS 服务(如RDS的CPU)指标的配置低

3,AWS 自动伸缩功能未能有效启用

4,部分服务的编码逻辑和处理性能低

5,等等

猜你喜欢

转载自blog.csdn.net/black0707/article/details/124971122