3

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

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

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

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

关于 php 配置中可能导致这种情况的任何想法?

谢谢。

4

2 回答 2

2

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

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

于 2008-11-08T04:07:20.643 回答
1

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

gethostbyname('example.com')

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

于 2008-11-08T21:05:41.260 回答