php 中使用memcached擴展來訪問memcached時,當memcached服務器無法正常連接,在默認設置下會造成請求響應變慢。注意:無法正常連接指網絡故障,如兩台服務器無法進行通信等,只要能ping通,就算memcached服務沒有開啟或down掉,不會影響響應時間,只是memcached沒有啟作用。
設置timeout時間通過常量Memcached::OPT_CONNECT_TIMEOUT來控制,默認是4000毫秒(php 官網顯示1000,我測試版本1.0.2和2.0.1都是4000)。另外1.0.2和2.0.1還有很大差別。1.0.2在執行addServer時就會連接memcached服務器,而且執行命令時候需要2倍的timeout時間,所有當memcached無法連接時候,花費時間是3倍的timeout時間。
2.0.1在php 5.2中似乎有bug,無法使用,具體參看:https://bugs.php.net/bug.php?id=61283。