2013-02-23 46 views
0

創建Twitter應用程序時。大多數應用程序將熱連接Twitter個人資料照片。但是,如果一個頁面顯示幾個20-40個人資料圖片照片。 Firebug(網絡標籤)報告所有這些照片佔用30-50毫秒(每個)加載。總結一下,你會得到幾秒鐘。應該將Twitter個人資料照片緩存在本地服務器上,以便進行前端優化?

用於頁面呈現和優化目的。應該將Twitter個人資料照片緩存/存儲在本地服務器上嗎?

在附註上。我瞭解過時照片的挑戰(因爲它們會被緩存)。但現在這不是重點。

回答

1

您如何在本地服務器上緩存它們以減少網絡請求的數量?

如果你將它們緩存在本地服務器上,那麼你仍然需要將它們提供給客戶端,在這種情況下,你可以排列圖像以減少請求數量,但這會增加下載大小並破壞緩存。

從twitter獲取它們的一個優勢是它們將來自twitter的CDN,因此可能比自己提供的延遲時間要短。

+0

緩存(通過memcache或其他解決方案)會更有意義嗎?所以它不必擊中Twitter的CDN。每張個人資料照片加載大概需要50ms。 40-60個人資料照片計算到幾秒鐘。 – 2013-02-25 20:56:07

+0

如果您自己緩存它們,您將如何將它們交付給客戶端 - 您將單獨下載每張照片還是要轉換爲base64並嵌入爲dataURI?如果您仍然單獨下載照片,那麼Twitter會在這樣做上獲得什麼收益? – 2013-02-26 23:47:06

+1

嗯,我已經意識到在本地存儲照片可能會有更好的優勢。正如通過webpagetest.org報告,鏈接到Twitter有時每張照片需要500毫秒(甚至更多)。本地存儲也將爲我們提供更多控制的額外好處。即服務於我們所需的CDN,圖像壓縮(用於增加性能)以及用於瀏覽器並行性的CNAMEing路徑/到/ photo/urls(http://stackoverflow.com/questions/985431/max-parallel-http-connections-in-一個瀏覽器) – 2013-07-03 06:18:41

相關問題