【问题标题】:max_user_connections - finding the cause / open connectionsmax_user_connections - 查找原因/打开连接
【发布时间】:2020-12-03 04:31:11
【问题描述】:

我有一个大型 PHP/MySQL 应用程序,但它很少会因错误而中断:

“xyz.php 中已经有超过 max_user_connections 个活动连接”

max_user_connections 限制已设置为 100,但我希望查看我的应用程序是否存在问题,例如导致此问题的打开连接或错误连接。

我在 PHPMyAdmin 中监控了活动进程,但看不到任何特别挂起或看起来有问题的进程。

对如何调试我的代码或找到任何可能的原因有什么建议吗?它会专门在提到的 xyz.php 文件中,还是仅仅因为我的 mysql 连接类在那里?这个错误是暂时的,只有几秒钟,我不知道如何找到原因。

【问题讨论】:

标签: php mysql


【解决方案1】:

mysql中超过max_user_connections配置的连接总是导致mysql拒绝新连接。对于这种情况的处理

  1. 您可以使用连接池来管理与mysql的连接,该连接是可重复使用的。如果您不想使用连接池,请记住正确关闭连接!
  2. 在 my.cnf 中打开 max_user_connections,您应该测量主机的容量以获得良好的配置。Nerver 设置无限或无限值。连接数过多会耗尽主机资源,并且由于竞态条件导致查询性能不佳。

【讨论】:

  • 谢谢。您是否获得了有关如何配置连接池的更多信息,如果我是对的,这不是 PHP 的功能吗?
  • @nicksource 我不熟悉 php,但我在 github 上找到了一个 repo 可能有帮助,github.com/louislivi/SMProxy。根据它的介绍,我觉得很适合你
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-23
相关资源
最近更新 更多