近日,数据库连接池老出错。什么last packet在多少ms以前。
于是就研究了下druid连接池和mysql连接数之间的关系。
1、查看目前mysql有多少连接:
- 在mysql控制台输入命令:show processlist,参考链接
- 在ubuntu shell输入:netstat -ano | grep 3306
- 在客户端(我的是Mac)机器上输入:lsof -i :3306
- 3者方法应该结果是一样的。
注意:
在mac上输入lsof命令时,可能会看到很多close_wait的,这是由于mysql单方面断开的原因。
3、druid监控很废,除了看出当前有几个连接池之外,看不出来什么东西。
注意:druid监控很简单,只要在web.xml加入StatViewServlet,在浏览器中输入l即可。
4、下面是一个很有价值的页面,比如mysql最高允许最大的链接数是16384,但是默认是100,修改的话需要通过mysql safed或者修改源码编译