Ubuntu
如何在 PHP/Memcache 應用程序上影響 DNS 記憶體
在一個負載非常高的 Ubuntu/PHP Web 伺服器中,我發現 PHP 行:
$memcache->connect(“int-aws_ec2.memcached.myapp.net”,11211);
有時需要約 5 秒。
用 ip 地址替換 url 將伺服器負載從 ~20 減少到 0
我的問題是 - 影響 DNS 記憶體的設置在哪裡?它是在伺服器級別還是在 memcache 庫中?我怎樣才能改變它?
附加資訊:Ubuntu 10.04 清醒 PHP:5.3.2-1ubuntu4.10 Apache / 2.2.14 (Ubuntu) Amazon EC2
根據 Celada 的評論獲得更多資訊:
memcache 伺服器的 DNS 處理由 scalr(我用來管理雲資源的平台)完成。他們有一個位於實例上的客戶端和他們自己的 DNS 伺服器。
/etc/nsswitch.conf - 主機:文件 dns /etc/resolv.conf:名稱伺服器 172.16.0.23 域 ec2.internal 搜尋 ec2.internal
域不在 hosts.conf 中要檢查我是否執行 nscd,我使用了 /etc/init.d/nscd stop 並收到“沒有這樣的文件”,所以我想我不執行 nscd。
謝謝 !
我最終對 APC(PHP 記憶體)記憶體中的 IP 地址進行了雙重緩衝。這解決了所有 DNS 計時問題。