天天看點

【最佳實踐】巡檢項:内容分發網絡(CDN)緩存命中率問題描述解決方案注意事項

問題描述

緩存命中率指的是流量命中率,可通過控制台實時監控名額檢視,反映的是命中緩存的流量與整體流量的比率。對于靜态檔案加速來說,如果緩存命中率偏低,一方面會造成源站壓力及成本較大,另一方面也會影響通路品質。我們可以通過一些合理的設定優化緩存命中率。

解決方案

1. 合理使用緩存鍵設定,對于URL中攜帶參數的情況,實際參數變化或者部分參數變化對于檔案本身沒有任何修改時,建議設定忽略全部參數或者保留部分參數配置。具體操作指引參考<緩存鍵配置規則>

2. 設定合理的緩存時間,CDN支援4種方式的緩存時間配置:遵循源站、緩存、強制緩存、不緩存。 在此建議,針對靜态檔案,在确認每次更新都會修改檔案名或者版号或檔案路徑的情況,建議設定強制緩存模式,防止源站傳回一些非預期的header,導緻cdn緩存失效。具體的緩存設定規則參考<節點緩存配置>

3. 開啟分片回源,針對靜态大檔案,一般是2M左右及以上,都可以開啟。尤其是針對較大檔案,比如100M以上,在源站支援range請求的情況下,建議開啟。

4. 保障正确的源站傳回頭。在開啟分片情況下,務必保障每個分片傳回時,Last-Modified值一緻,否則會導緻檔案下載下傳失敗及無法緩存。此外,若是源站傳回的 Cache-Control 字段為 no-cache/no-store/private,則CDN不會緩存。 另外,在遵循源站模式情況下,需要緩存的檔案其Cache-Control 字段的max-age值務必要給出,不要太小,以免影響緩存時間。

注意事項

緩存時間及緩存KEY的設定,務必謹慎,設定錯誤可能會引起業務異常,提前灰階驗證。