mysql连接数过多排查

Posted 黑曼巴后仰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql连接数过多排查相关的知识,希望对你有一定的参考价值。

五一过节,第二天,一大早被叫起来,现场服务出问题了,问题定位到了,mysql 的连接数过多,1040 错误,Toomany connections,问题是定位到了,要找到导致连接数过多的服务才是重点,

执行

SHOW PROCESSLIST

发现连接数过多

 

 进入服务器命令行,执行以下命令,50078端口是上面截图的host字段对应的值的端口,

netstat -anp | grep 50078
netstat -anp | grep 59432

执行后发现都来来源于同个服务,后面发现是个无用的服务,停止服务即可,问题解决

mysql查看连接数排查问题

#mysql查看连接数
SHOW VARIABLES LIKE ‘%max_connections%‘;
# max_connections 最大连接数

SHOW VARIABLES LIKE ‘%connection%‘;
# PROCESSLIST;

# 通过观察sql来判断。
SHOW FULL PROCESSLIST
SHOW PROCESSLIST;

SHOW STATUS;
SHOW PROCESSLIST
#show extended-status;


SHOW STATUS LIKE ‘%connect%‘; # 1219
# Connections 试图连接到(不管是否成功)MYSQL服务器的连接总数
# Threads_connected 当前的连接数
# Max_used_connections 服务器启动后已经同时使用过的连接最大数量(并发)

 

日志分析,请求接口:

cat statxx.2017-04-01.*.log | grep -C 5 ‘ReqUri:/vx/chx/supx‘;
cat auxx-2017-04-01-*.log | grep -C 5 ‘/vx/chx/support‘;
cat auxx-error.2017-04-01.*.log | grep -C 5 ‘/vx/chx/supx‘;


auxx-2017-04-01 新的日志
2017-04-01 08:33:28.414 [http-nio-7064-exec-7] INFO com.auxx.filter.VerxFilter#doFilter [line:52] - User-Agent:Autoyol_49:Android_23|
640BB43DC8FFE2A7323718CA9BE10674D30C3E3031DD223D3333333333, ReqUri:/vx/chx/supx (‘POST‘ from 118.255.29.100)


statxx.2017-04-01 老的日志
2017-04-01 11:57:32.698 [http-nio-7065-exec-7] INFO c.a.interceptor.DefaultInterceptor#preHandle [line:126] - User-Agent:Autoyol_48:iPhone_10.2.1|
98C82A94F57AD7CAE1CBADC404B9BF1D3EA5EDEAAA657A6117F426D42FD108C6A030B76B4B8E69, ReqUri:/traxx/v7x/reqxx (‘POST‘ from 59.42.108.63)
2017-04-01

 





















以上是关于mysql连接数过多排查的主要内容,如果未能解决你的问题,请参考以下文章

Mysql中Sleep进程连接数过多问题解决

mysql查看连接数排查问题

mysql连接数过多解决方案

mysql连接数过多 解决方案

Mycat占用mysql连接数过多

MySQL 连接数过多的处理方法合集 - Too many connections