Mysql "too many connections"网站持续连接数据库失败。。

今天下午网站持续出现数据库连接不上的问题,重启一下mysql会好一些,但是过一段时间后又会出现数据库连接不上的问题。

查看monitorix发现有一异常,请技术大拿帮忙指点,初次遇到这样的问题,GoogleAnalytics 显示实时流量大约100左右,正常情况下不会出现这种现象。

求指教!

图片描述

阅读 4.4k
3 个回答

如果你的PHP采用持久连接访问MySQL(一个PHP-FPM进程保持一个MySQL持久连接,省去每次请求重复建立连接的开销),那么PHP-FPM的进程数pm.max_children不要多于MySQL的最大连接数max_connections(默认151).如果你用的是Apache,httpd的进程数也不要多于MySQL的最大连接数.

有可能某个(某些)查询随着数据的增加出现了性能问题,导致很多SQL被堵住了。可以通过下面命令查看当时的SQL情况

show full processlist;

另外可以开启MySQL的慢查询日志记录下那些耗时的查询,然后针对他们进行优化。

还有一种情况:硬盘写满了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏