MySQL 连接中的“尝试失败”
Posted
技术标签:
【中文标题】MySQL 连接中的“尝试失败”【英文标题】:"Failed Attempt" in MySQL Connection 【发布时间】:2011-10-08 03:33:32 【问题描述】:我对 mysql 连接感到困惑。我的网站在工作时间收到大量请求。我使用 php 通过持久连接连接到 MySQL 数据库。 几周前,我将 mysql 连接数增加到 500,这导致我的服务器崩溃,然后我将其恢复到 150。 现在用户抱怨有时他们无法访问该网站。我认为这是由于连接有限。
您能否给我一些关于我使用持久性还是非持久性的信息?我需要调整 mysql 的哪些部分以获得优化的连接处理? 我附上了显示 11K 失败尝试的屏幕截图。 http://i.stack.imgur.com/GkxHP.jpg
非常感谢...
2011 年 12 月 17 日更新
当我问这个问题时,我将连接类型更改为“非持久”,一切都开始正常工作。今天我惊讶地看到来自 phpmyadmin 的统计数据。以下是 Phpmyadmin 给出的值:
max. concurrent connections :: 16
Failed Attempts :: 43k
请提出一些可能的解决方案?应该优化哪个参数来避免/最小化失败的尝试?
【问题讨论】:
显然“尝试失败”是因为您的站点已达到最大可能连接数。现在的问题是,为什么当您将其设置为最大连接数 500 时它会崩溃?? 谢谢疯猫。这意味着高流量站点不应使用持久连接,因为在这种情况下可用的连接有限。也不知道为什么会崩溃。但这是我在崩溃前所做的唯一改变。 @D3K,你是怎么解决这个问题的? @Suriya,我将连接类型设置为“非持久”并将连接数从 150 增加到 500。现在失败的尝试要低得多 :-) @D3K,谢谢。通过增加连接,你升级你的内存了吗?我有一台 8G 机器。 【参考方案1】:高流量网站不应使用持久连接。我在php中将数据库连接从持久更改为非持久,问题解决了! 感谢您的帮助。
编辑: 将连接类型更改为非持久后,不要忘记增加连接数。就我而言,我将它们增加到 500,并将类型设置为非持久,这解决了问题。
【讨论】:
以上是关于MySQL 连接中的“尝试失败”的主要内容,如果未能解决你的问题,请参考以下文章
如何解决“连接尝试失败,因为连接方在一段时间后没有正确响应......”错误?
连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败
svn checkout 提示“由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。”解决方法
svn checkout 提示“由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。”解决方法