今天上午线上的服务突然访问缓慢,页面大量访问超时,用户开始报障 。立即远程连接应用服务器进行日志的排查,发现大量的数据库连接异常 。现像如下:猜测可能是MySQL连接数占满或者mysql服务异常导致问题 。
文章插图
数据库连接异常
1.首先远程连接mysql服务器
mysql -h ip -u root -p -P 3306
例如:mysql -h ××.××..××..××. -P 3306 -u xx-p
-h指定远程 ip地址 -P指定端口号 -u 指定用户名 -p 指定密码
幸运的远程连接成功,说明mysql服务应该没有问题,可能是连接数的问题 。
2.查询可用连接数和最大连接数,发现连接数占满
文章插图
连接数使用情况
3.查询当前running sql执行时间最长的10条
Select * frominformation_schema.processlist where info is not null order by time desc limit10 ;
发现有同一条sql大量占用mysql 连接数,导致mysql连接数占满,排查是一个批量推送的服务触发了,首先先屏蔽点批量推送功能,进行发版本并重启服务 。
4.通过命令生成杀进程脚本
`select concat('KILL',id,';') from information_schema.processlist where user='root' into outfile '/var/lib/mysql-files/a.txt';`
【如何快速处理mysql连接数占满的问题?】或者增加时间条件
`select concat('KILL',id,';') from information_schema.processlist where user='root' and time>100 into outfile '/var/lib/mysql-files/aa.txt'; `
5.执行杀连接数脚本
source /var/lib/mysql-files/a.txt
6.查询线程执行状态
show status like 'Threads%'
批量kill 调连接数后服务正常;
经过紧张有序的排查,顺利解决线上的突发问题 。
推荐阅读
- Go的泛型真的要来了—如何使用以及它们是怎么工作的
- Mysql 单表适合的最大数据量是多少?如何优化其性能?
- 在 Excel 中如何正确输入身份证号?
- 网站推广如何应对劲风算法?劲风算法又是什么?
- PDF如何转Excel?PDF转Excel的操作方法!
- 快速剥蒜的小窍门
- 如何在淘宝网开店步骤 淘宝开网店需要注意什么
- 如何识别洛神花加色素,洛神花茶的功效及其作用
- 打印机无法打印的原因及处理方法
- 手淘首页流量转化率低怎么处理 手淘首页流量下降了,应该怎么调整