[英]Php - Connecting to remote database very slow
我有一個新的VPS服務器,我試圖讓它連接到同一ISP的另一台服務器。 當我通過mysql的命令行工具連接時,連接速度非常快。
當我使用PHP連接到遠程數據庫時,連接時間可能需要5秒。 此后的查詢會快速執行。
這不僅限於mysql,使用file_get_contents()從幾乎任何其他服務器下載文件都會產生相同的延遲。 使用wget獲取文件沒有這種滯后。
我使用dns_get_record()從PHP中定時DNS查詢,這些是快速的(1-2毫秒)。
有關php配置中的內容可能導致此問題的任何想法?
謝謝。
我會檢查PHP運行的模式,是出於某種原因將腳本作為CGI運行。 基本上PHP本身真的很慢,而且在運行遠程操作時它才會引人注目。
檢查Web服務器的配置。 此外,如果它是一個選項,請從命令行嘗試PHP,看看它是否在沒有涉及Web服務器層的情況下表現更好。
我最終從PHP 5.1.6升級到PHP 5.2.6,問題就消失了。 它肯定是PHP中的DNS查找問題,以下大約需要5秒才能運行:
gethostbyname('example.com')
我有一種感覺IPV6是一個問題(大多數是在網上閱讀這個預感),但我沒有任何證據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.