2010-05-21 16 views
1

是否有可能加載xml會減慢我的網站?loading xml放慢我的網站

我在PHP寫這個小功能來遍歷字符串數組來計算我的追隨者總量

function getFeedCount() { 
    foreach ($array as $value) { 
     $xml = simplexml_load_file("http://api.feedburner.com/awareness/1.0/GetFeedData?uri=$value") 
       or die ("Unable to load XML file!"); 
     $circulation += $xml->feed->entry['circulation']; 
    } 
    return $circulation; 
} 

數組是約10項大的,因爲我開始使用它,它真的放慢了我的網站。

我能做些什麼來解決這個問題。

回答

5

從feedburner加載數據將導致這種情況:每次有人查看您的頁面時,必須向Feedburner服務器發送10個請求,才能將其中的數據返回給您的訪問者。

也許最好的方法是定期將feedburner提要緩存到服務器,並在頁面生成中讀取緩存的副本。

+1

沿着這些路線,你可能會檢查feedburner api的TOS,看看他們是否在任何時候加油。 – NotMe 2010-05-21 16:34:41

1

數字經常變化嗎?也許你可以緩存它(例如,將它存儲在一個文件中),並且每天只能獲得一次feed(通過例如cron job)。

我的意思是說,訪問URL需要時間。這就像你的訪問者訪問10頁之前,他們可以訪問你的...

3

它絕對會減慢你的網站。由於它不是一個異步操作,整個頁面的創建都在等待XML完成其他任何事情之前下載。

根據XML的變化程度,人們會對XML數據執行本地緩存並定期進行更新。這樣做的好處在於,對於大多數頁面瀏覽而言,您在本地獲取資源,缺點是它不是實時數據。

另一種選擇是在頁面加載後嘗試使用JavaScript加載xml數據,但這個過程的缺點是您的PHP無法訪問XML數據。