PHP / mySQL:如何debugging“太多连接”的错误?

我现在正在我的客户端的专用服务器上使用PHP网站,我周期性地收到了too many connections错误,但有5个用户正在浏览此页面。

phpMyAdmin我可以看到max connectionsvariables设置为400

在我们公司的本地MySQL服务器上,我们将max connections设置为200 ,其他配对在同一时间使用此服务器。

我听说在他们的服务器上有一些其他的网站正在使用同一个大的交易MySQL。

这是我的问题:

  • 如何debugging这个问题?
  • 我可以查看一下在过去10分钟内执行的SQL查询列表,以检查它是我们的问题还是他们的?

您描述的症状指向持续连接。 在某些设置中,PHP不能很好地处理持续连接:它倾向于打开新的连接,而不是重用现有的连接。 我build议你禁用这个function,看看问题是否依然存在:

  • 在代码级别:find对mysql_pconnect()的调用,并用mysql_connect()replace它们。
  • 在configuration级别:findmysql.allow_persistent指令并将其设置为false。

如果您注意到有所改进,您可以尝试微调永久性呼叫或永久删除它们。