前言

压力测试是测试系统应用瓶颈的重要手段之一,无论是单应用还是微服务,对于高并发、频繁访问的接口实行压力测试都是有必要的。本节内容我们依然使用kubesphere平台,搭建一套k8s环境下的压力测试性能监控平台,用于应用接口的压力测试,并达到实时监控展示的效果。使用的技术方案为:使用influxdb2时序数据库存储压力测试的结果数据,使用jmeter5整合influxdb2的控制器完成压力测试结果数据的上传,使用grafana8完成压力测试结果数据的实时展示。关于docker镜像的说明:influxdb:2.2.0与grafana/grafana:8.5.2。

正文

  • 创建时序数据库influxdb2

-点击应用负载-服务-创建-无状态服务,填写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服务基本信息,点击下一步

-点击添加容器,添加grafana的docker容器镜像grafana/grafana:8.5.2,并点击使用默认端口

-勾选同步主机时区,点击对号,点击下一步

-点击下一步,勾选外网访问,NodePort访问方式

-点击创建,完成 grafana服务的创建

-根据暴露外网访问的端口,访问 grafana,输入用户名和密码登录

  • grafana整合influxdb2

 - 进入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环境下的压力测试性能监控平台,用于应用接口的压力测试平台就全部完成了,创作不易,记得点赞、关注加收藏哦,我们下期见。。。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐