2008-11-08 154 views
3

我有一个新的VPS服务器,我试图让它连接到同一ISP的另一台服务器。当我通过mysql的命令行工具连接时,连接速度非常快。Php - 连接到远程数据库非常缓慢

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

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

我使用dns_get_record()从PHP内部定时进行DNS查询,并且这些查询速度都很快(1-2毫秒)。

任何关于什么在PHP配置可能会导致这种想法?

谢谢。

回答

1

我结束了从PHP 5.1.6升级到PHP 5.2.6,问题消失了。这肯定是在PHP DNS查找问题,下面将耗时5秒左右运行:

gethostbyname('example.com') 

我有一种感觉,IPV6是一个问题(大多来自阅读有关本次网上预感),但我不”没有任何证据。

2

我会检查一下PHP运行的是什么模式,是出于某种原因将脚本作为CGI运行的。基本上,PHP本身非常慢,并且在运行远程操作时它是唯一显而易见的。

检查Web服务器的配置。此外,如果它是一个选项,请尝试命令行中的PHP,并查看它是否在没有涉及Web服务器层的情况下执行得更好。