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/classes
vi application.properties
4、优化方案
1)修改应用服务器连接池最大连接数,重启tomcat应用服务器
cd /usr/src/tomcat-pinter/webapps/pinter/WEB-INF/classes
vi 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 /etc
vi 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年最全的软件测试工程师学习知识架构体系图 |
不要畏惧失败,因为失败是成功的前奏;不要停止前行,因为前进是追逐梦想的唯一途径。相信自己,坚持奋斗,你将创造属于自己的辉煌。
在每一次的努力中,你都在磨练自己的意志和才能,不断超越自我,才能迎来真正的成功与成就。不怕困难,不惧挑战,勇往直前,奋斗不止。
不要让过去的失败和困境束缚你的脚步,用勇气和决心迎接挑战,相信自己的能力,努力奋斗,你将创造出属于自己的辉煌与成功。