我有一个奇怪的问题,使用Zend_Db的PDO适配器来管理我的数据库连接。突然之间,我一直在我的MySQL服务器上达到连接限制。与这个错误每个HTTP请求Zend Framework应用程序没有正确关闭mysql连接
无论出于何种原因,每三四个小时左右,我最终得到这个错误,和Apache胡扯出来:
PHP Fatal error: Uncaught exception 'Zend_Db_Adapter_Exception' with message 'SQLSTATE[00000] [1129] Host 'my.internal.mysql.server.DNS.here' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'' in
奇怪的是,我没有改变了任何代码和流量实际上是从他们过去的情况来看,所以我知道我的应用不应该产生更多的并发连接。最奇怪的是,我在近一周内没有更改任何主要应用程序文件的代码,并且所有内容都从那时起开始顺利运行。
重新启动mysql服务或使用mysqladmin flush-hosts刷新连接确实有用,我确信增加my.cnf中的最大并发连接数也有助于缓解这些问题,但似乎存在这是应用程序自身创建太多连接的核心问题。
有关如何深入了解并关联引起挂起连接的代码段的想法?在外部,网页应用程序的所有不同页面都可以正常加载并且速度很快。
我做了一个艰难的时间决定是否张贴此对ServerFault或这里,但我决定,因为它看起来像一个应用程序问题 – 2009-11-03 01:38:05