Cdn

AWS CloudFront 是否應該增加不經常訪問的文件的載入時間?

  • December 2, 2014

我是 CDN 新手,正在嘗試使用 CloudFront。我已經設置好一切,一切似乎都工作正常。我可以在頁面上創建靜態圖像並通過我的 CloudFront 分配訪問它。我正在使用自定義來源(即不是 s3 儲存桶)。

不過,我擔心從性能的角度來看我的情況可能會更糟。我有一個測試頁面,它正在載入相同的 20 個左右的圖像,有和沒有 CDN。查看 Firebug 中的網路面板,我第一次載入此頁面時,直接從源伺服器載入的圖像進來的速度要快得多。在隨後的頁面載入中,CDN 的好處變得明顯——在 3-5 次刷新之後,CDN 的表現比原始伺服器好。

所以我可以看到,在我們網站上一個一直被點擊的熱門頁面上,這將是一個好處。我應該期待一個好處,因為我在西雅圖(亞馬遜附近),我的伺服器在加州。

問題是,如果我離開頁面幾分鐘然後重新載入,事情又回到了原點,Clo​​udFront 比原始伺服器更糟糕。這是預期的嗎?事情會這麼快從 CDN“記憶體”中退出嗎?

我的設置中的某些東西是否可能會損害性能?還是 CDN 只會對目前平均每隔幾秒訪問一次的內容產生淨正面影響?

(從 AWS 論壇發帖,因為我已經被 SO 的周轉時間永遠寵壞了)

更新:

如果您對 CloudFront 性能有疑問,下面有兩個很好的答案值得一看。我最近發現沒有提到我的具體問題的一種解釋。作為疏忽,我在 5 分鐘時離開了 TTL。由於我還使用自定義源,因此需要額外往返權威名稱伺服器以將其解析為實際的 Amazon CloudFront 域。現在 TTL 設置恢復到 12 小時,似乎很少發生長負載。

Cloudfront 在回復中設置標題,例如“X-Cache:從雲端命中”。如果您的文件不在您被定向到的節點的記憶體中,它大概會說“Miss”。

您的文件可能不夠受歡迎,因此即使 24 小時還沒有過去,它們也會被更受歡迎的內容從 CloudFront 的記憶體中彈出。IO 過載或特定 CloudFront 節點內部的某些其他情況也可能導致訪問速度變慢。與 Akamai 或 LimeLight 相比,Cloudfront 非常便宜。最壞情況下的性能和保證的服務水平是使用更昂貴的播放器的兩個原因。

我會做一個測試,在生產中只將一個流行的文件放入雲端,然後使用定期測試來查看 CloudFront 是否指示命中(也記錄總事務時間)。

引用自:https://serverfault.com/questions/252248