【问题标题】:Php - Connecting to remote database very slowPHP - 连接到远程数据库非常慢
【发布时间】:2010-09-21 10:01:06
【问题描述】:

我有一个新的 VPS 服务器,我正试图让它连接到同一 ISP 的另一台服务器。当我通过mysql的命令行工具连接时,连接速度非常快。

当我使用 PHP 连接到远程数据库时,连接时间可能需要 5 秒。之后的查询会快速执行。

这不仅限于 mysql,使用 file_get_contents() 从几乎任何其他服务器下载文件都会产生相同的延迟。使用wget获取文件没有这个滞后。

我在 PHP 中使用 dns_get_record() 对 DNS 查询进行计时,这些查询速度很快(1-2 毫秒)。

关于 php 配置中的什么可能导致此问题的任何想法?

谢谢。

【问题讨论】:

    标签: php mysql dns lag remote-connection


    【解决方案1】:

    我会检查一下 PHP 在什么模式下运行,是否出于某种原因将脚本作为 CGI 运行。基本上是 PHP 本身真的很慢,而且只有在运行远程操作时才明显。

    检查网络服务器的配置。此外,如果它是一个选项,请从命令行尝试 PHP,看看它是否在不涉及 Web 服务器层的情况下表现更好。

    【讨论】:

      【解决方案2】:

      我最终从 PHP 5.1.6 升级到 PHP 5.2.6,问题就消失了。这肯定是 PHP 中的 DNS 查找问题,以下运行大约需要 5 秒:

      gethostbyname('example.com')
      

      我觉得 IPV6 是个问题(主要是从网上阅读到的预感),但我没有任何证据。

      【讨论】:

        猜你喜欢
        • 2012-01-03
        • 1970-01-01
        • 2014-08-26
        • 2018-10-15
        • 1970-01-01
        • 1970-01-01
        • 2016-08-05
        • 1970-01-01
        相关资源
        最近更新 更多