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

8年测试老鸟,性能测试-数据库连接池问题定位/分析,一篇打通...

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

1、环境准备

1)编写脚本

请添加图片描述

2)执行压测

请添加图片描述

3)打印快照

请添加图片描述

请添加图片描述

2、问题定位

1)在快照中,搜索是否存在BLOCKED 或者 TIMED_WAITING字段

2)查看TIMED_WAITING日志中是否存在,跟自身业务相关的日志信息

3)检查是否存在getconnection的关键字,便是数据库连接等待

在这里插入图片描述

3、问题分析

1)查看压测中的应用,数据库链接数
执行压测,应用服务器输入命令:
安装netstat: yum install -y net-tools

netstat -anp | grep 10.196.130.102:3306 | grep 39671 | wc -l

gerp 10.196.130.102:3306 为过滤数据库服务器;
grep 39671 为过滤应用程序;
wc -l 为统计多少行;

请添加图片描述

2)查看应用数据库连接池配置最大连接数

cd /usr/src/tomcat-pinter/webapps/pinter/WEB-INF/classesvi application.properties

请添加图片描述

4、优化方案

1)修改应用服务器连接池最大连接数,重启tomcat应用服务器

cd /usr/src/tomcat-pinter/webapps/pinter/WEB-INF/classesvi application.properties

修改最大活动连接数:50

请添加图片描述

2)压测查看效果

请添加图片描述

3)查看应用服务器使用的链接数量

请添加图片描述

5、查看数据库本身支持最大链接数

1)查看数据库本身支持最大链接数

进入到mysql数据库中:Mysql -u root -p

查看mysql中存在哪些数据库:show databases;

查看当前数据库最大链接数:show variables like '%connections%';

请添加图片描述

2)查看数据库当前最大连接数

进入到mysql中输入命令:show status like '%thread%;

请添加图片描述

3)修改最大链接数

cd /etcvi my.cnf

修改max_connections=500

请添加图片描述

4)查看当前链接数

在数据库服务器下输入命令:netstat -anp |grep 10.196.130.102:3306

请添加图片描述

5)查看压力机与应用服务器链接数

在应用服务器下输入命令:netstat -anp | grep 10.196.130.100 | grep 8082 | grep ESTABLISHED | wc -l

grep 10.196.130.100 为压力机所在的服务器,即发起请求的服务器

grep 8082为应用的端口号

请添加图片描述

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

不要畏惧失败,因为失败是成功的前奏;不要停止前行,因为前进是追逐梦想的唯一途径。相信自己,坚持奋斗,你将创造属于自己的辉煌。

在每一次的努力中,你都在磨练自己的意志和才能,不断超越自我,才能迎来真正的成功与成就。不怕困难,不惧挑战,勇往直前,奋斗不止。

不要让过去的失败和困境束缚你的脚步,用勇气和决心迎接挑战,相信自己的能力,努力奋斗,你将创造出属于自己的辉煌与成功。

http://www.lryc.cn/news/186791.html

相关文章:

  • 【Sentinel】Sentinel原码分析
  • 计算机竞赛 题目:基于深度学习的人脸表情识别 - 卷积神经网络 竞赛项目 代码
  • 基于aarch64分析kernel源码 五:idle进程(0号进程)
  • 【Linux】 vi / vim 使用
  • Leetcode hot 100之双指针(快慢指针、滑动窗口)
  • Bridge Champ助力我国桥牌阔步亚运, Web3游戏为传统项目注入创新活力
  • 云原生微服务 第六章 Spring Cloud中使用OpenFeign
  • uniapp-vue3 抖音小程序开发(上线项目开源)
  • 基于微信小程序的个人健康数据管理平台设计与实现(源码+lw+部署文档+讲解等)
  • 真香!Jenkins 主从模式解决问题So Easy~
  • Win10系统打开组策略编辑器的两种方法
  • git 的行结束符
  • buuctf PWN warmup_csaw_2016
  • C++中的对象切割(Object slicing)问题
  • VxeTable 表格组件推荐
  • 好消息:用 vue3+layui 共同铸造我们新的项目
  • JS中 split(/s+/) 和 split(‘ ‘)的区别以及split()详细解法,字符串分割正则用法
  • MySQL性能调优
  • 如何解决openal32.dll丢失,有什么办法解决
  • Nginx 如何配置http server 、负载均衡(反向代理)
  • windows docker desktop配置加速地址
  • 戏剧影视设计制作虚拟仿真培训课件提升学生的参与感
  • Transformer预测 | Pytorch实现基于Transformer的锂电池寿命预测(NASA数据集)
  • 取出SQLite数据(基本游标)
  • 信息增益,经验熵和经验条件熵——决策树
  • 手摸手系列之批量修改MySQL数据库所有表中某些字段的类型
  • 视频号直播弹幕采集
  • PostgreSQL ash —— pgsentinel插件 学习与踩坑记录
  • HarmonyOS/OpenHarmony原生应用开发-华为Serverless云端服务支持说明(一)
  • 3分钟基于Chat GPT完成工作中的小程序