2008-11-08 106 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服務器層的情況下執行得更好。