我在我的網站上有下面的PHP。XML通過FTP和Memcache突然減緩我的PHP網站....從今天開始
$xml = $my_memcache->load('the_xml');
if(empty($xml)){
$username = 'username';
$password = 'password';
$host = 'ftp.thirdpartysite.co.uk';
$file = 'file.xml';
$xml = file_get_contents("ftp://$username:[email protected]$host/$file");
$my_memcache->save($xml, 'the_xml' , array(), '1800');
}
$php_array = $this->parseXml($xml);
$html = $this->gatherHtml($php_array);
return $html;
它查找鍵/值的memcache。 它如果找不到密鑰,它將執行FTP獲取內容,然後將其保存到memcache 5分鐘。我只希望1位用戶每5分鐘爲所有用戶完成此操作。 最後,它使用我的'parseXml()'函數將XML解析爲一個php數組,然後使用我的'gatherHtml()'將PHP數組轉換爲HTML並返回該數組。
它已經工作了很長時間,但突然間開始讓我的網站變得非常慢。很長一段時間我沒有更改過代碼。我在2臺服務器上負載均衡,內部交換機的出站帶寬也有所增加。 我已經檢查了負載,並且它在低線程下也不會像最大線程下的平均DOS攻擊。
任何想法請(FTP,memcache,PHP,XML)?
你必須找出哪些部分是緩慢的正是 - 的FTP,或內存緩存的一部分。 – 2013-03-04 15:01:24
檢查ftp是不是劫持。可能是一個DNS查找,可能是一個遠程服務器故障(例如,試圖做你的IP反向DNS查找),等等等等等等。無論什麼時候你依賴遠程服務,當你身邊沒有什麼改變時,總是認爲它是遠程服務的錯誤。 – 2013-03-04 15:04:48
什麼都沒有改變網絡或DNS端發話給管理員和文件是在那裏的FTP。我的代碼沒有改變。 – 2013-03-04 15:12:37