前言
压力测试是测试系统应用瓶颈的重要手段之一,无论是单应用还是微服务,对于高并发、频繁访问的接口实行压力测试都是有必要的。本节内容我们依然使用kubesphere平台,搭建一套k8s环境下的压力测试性能监控平台,用于应用接口的压力测试,并达到实时监控展示的效果。使用的技术方案为:使用influxdb2时序数据库存储压力测试的结果数据,使用jmeter5整合influxdb2的控制器完成压力测试结果数据的上传,使用grafana8完成压力测试结果数据的实时展示。关于docker镜像的说明:influxdb:2.2.0与grafana/grafana:8.5.2。
正文
-点击应用负载-服务-创建-无状态服务,填写influxdb数据库服务基本信息,点击下一步
-点击添加容器,添加influxdb的docker容器镜像influxdb:2.2.0,并点击使用默认默认端口
-勾选环境变量,填写?influxdb启动的环境变量,并勾选同步主机时区,点击对号添加,点击下一步
#influxdb2的启动方法,直接启动,也可以使用更新的方式,如果升级influxdb的版本
DOCKER_INFLUXDB_INIT_MODE=setup
#influxdb2的用户名设置
DOCKER_INFLUXDB_INIT_USERNAME=influxdb_atp
#influxdb2的密码
DOCKER_INFLUXDB_INIT_PASSWORD=influxdb_atp
#influxdb2的org设置
DOCKER_INFLUXDB_INIT_ORG=my-org-atp
#influxdb2的bucket设置
DOCKER_INFLUXDB_INIT_BUCKET=my-bucket-atp
-继续点击下一步,到高级设置页面,勾选外网访问,NodePort方式访问
-点击创建,完成?influxdb2时序数据库的部署
-通过对外暴露端口,输入前面配置的用户名与密码登录访问influxdb2时序数据库
-点击应用负载-服务-创建-无状态服务,填写grafana服务基本信息,点击下一步
-点击添加容器,添加grafana的docker容器镜像grafana/grafana:8.5.2,并点击使用默认端口
-勾选同步主机时区,点击对号,点击下一步
-点击下一步,勾选外网访问,NodePort访问方式
-点击创建,完成?grafana服务的创建
-根据暴露外网访问的端口,访问?grafana,输入用户名和密码登录
?- 进入influxdb的web界面,点击Data->API Tokens
- 点击获取influxdb登录token
- influxdb的token为,后面grafana接入influxdb数据源会用到该值
hMGzrXuoF7gr1QZUh_LC0xnZdXQ2sQxwDapMJ_RySPFzJGb_GASkoJaPgTvQigi9BS2ARNzep3zJ_xdBMpmQXA==
- 点击Configuration->Data sources
-点击Add?data source
- 选择influxdb数据源
-填写查询语言,填写influxdb的url访问地址
-添加influxdb数据源配置信息
-点击保存和测试,完成influxdb数据源的添加
-获取jemeter监控模板,访问地址Dashboards | Grafana Labs,搜索influxdb2的监控模板
-点击进入获取其模板的ID号:13644
-点击import,添加jemeter压测数据结果的监控模板
-输入获取的模板ID号,点击load,加载监控模板
-选择上面配置的influxdb数据源
-点击导入,完成压力测试监控界面的配置
- ?jemeter整合influxdb控制器完成压力测试结果数据的上传
-下载jemeter压力测试工具,地址Apache JMeter - Download Apache JMeter,并解压即可
-下载influxdb2后置监听器的插件,地址:Releases · mderevyankoaqa/jmeter-influxdb2-listener-plugin · GitHub
-将插件放置在jmeter的插件库目录/lib/ext下,启动jemeter插件的时候就可以配置该后置监听器了
?ps:这里要注意的是,使用该jemeter插件,需要jdk11版本才能支持,这里我们要确保本地已经安装了jdk11的环境
-点击jemeter解压目录bin下的jmeter.bat启动jemeter
-进入jemeter操作界面
-填写一个atp压力测试计划
?-将操作界面改为中文操作界面
-鼠标右键添加一个线程组
-填写并发访问策略,2000的并发,一秒中一次
-鼠标右键线程组添加http请求取样器
-填写压测的接口请求信息
?-填加一些jemeter监控组件
?-添加后端监听器
-填写influxdb监控的后端监听器,并配置其相关数据源信息
?- 启动atp应用的测试服务,确保可以压测/user/1接口
- 点击?jemeter压测按钮,开始执行压测
?- 通过jemeter控制台查看压测结果
?- 通过grafana实时监控查看jemeter的压测结果
结语
至此,关于使用kubesphere平台,搭建一套k8s环境下的压力测试性能监控平台,用于应用接口的压力测试平台就全部完成了,创作不易,记得点赞、关注加收藏哦,我们下期见。。。
|