1.场景
使用阿里云连接池,项目正常运行一年多,无任何异常现象,今天收到的同事反馈,网站访问不了,经过分析,发现mysql连接没有释放。
2.分析
发现所有的Command状态为sleep。把所有项目关掉以后,等待一段时间,发现可以登录成功,但是,响应很慢。
show processlist; 查看连接数
show variables like "max_connections"; 查看最大连接数
set GLOBAL max_connections=1000; 修改最大连接数
show global variables like 'wait_timeout'; //这个数值指的是mysql在关闭一个非交互的连接之前要等待的秒数,默认是28800s
解决方法:一个个kill后,发现项目正常运行了,搞不懂为什么????