性能学习笔记--k8s下mysql的连接数分析和调优

项目背景:k8s的架构下,登录并发100后,发现cpu的利用率过高,超过75%;开始不知道是哪个微服务导致的cpu利用率过高,需要进行分析(最终分析是mysql连接数不够),调优,再执行并发操作。
场景描述:登录并发100,监控tps、响应时间、出错率、cpu、系统负载、内存等
场景类型:单场景
补充测试点:

	k8s命令:
    #查看所有的命名空间: kubectl get namespace
    #获取到所有命名空间的pod:  kubectl get pods --all-namespaces 
    #获取某个业务的命名空间的下的pod :  kubectl get pods -n  pod所属的命名空间
    #查看某个pod的更多信息(包括所属node):kubectl get pod pod名称 -o wide -n pod所属的命名空间
    #查看某个pod的配置信息(资源cpu等):kubectl describe  pod pod的名称 -n  pod所属的命名空间
    #查看到所有node的ip信息:kubectl get node -o wide
    #查看某个node的配置信息(资源cpu等):kubectl describe nodes node名字

场景分析:
第一步:通过jmeter并发100个用户,在master1这个node中发现cpu和平均负载比较高
Cpu:
。%user—相对比较高
。%sys
。%si
。%iowait
第二步:用top命令发现java进程比较耗资源;同时也发现redis也有使用率(发现登录接口比较特殊,响应数据大量写入redis—高频数据,需要向开发确认一下,这个问题)
第三步:分析java进程:查看master1中的web应用的日志(java的日志):kubectl logs -f —tail==500 pod名称 -n pod所属的命名空间
第四步:在日志中发现一个mysql连接数报错了
第五步:去查下mysql这个pod里面的应用的连接数
方法一:
>通过后端服务器找到mysql:docker ps|grep mysql(或者用kubectl describe pod pod的名称 -n pod所属的命名空间 ,找到mysql容器的编号id)
>进入到mysql的容器内:docker exec -it mysql容器编号 /bin/bash
>输入mysql账户和password :mysql -u mysql账户名 -h mysql的连接地址 -p
在这里插入图片描述
方法二:直接在数据库连接工具的进行查询
在这里插入图片描述

第六步:修改mysql配置文件中的连接数
>修改mysql配置文件;
>修改临时配置(重启之后恢复原值):
在这里插入图片描述
第七步:修改mysql的连接数(调优)之后,在jmeter执行并发测试,监控cpu和系统平均负载

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值