日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

CDN緩存命中率較低排查方法

概述

阿里云CDN控制臺上顯示的緩存命中率一直不高,且源站收到較多來自CDN的回源請求,對源站造成一定的負載壓力。現需要排查緩存命中率不高的原因。

詳細信息

如果發生命中率過低的情況意味用戶的每次請求都會通過CDN回源,公網鏈路的不穩定可能導致加速的效果反而變差。如何解決命中率過低的問題,可以通過預熱URL、配置資源緩存規則、過濾URL中可變參數優化緩存命中率,具體操作請參見優化CDN緩存命中率。首先參見以下操作分析具體原因:

CDN控制臺查看命中率和流量情況

CDN控制臺中的命中率和流量的說明及分析如下:

  1. CDN控制臺統計的緩存命中率僅僅是CDN L1節點的命中率,實際L1節點的緩存數據也是從CDN L2節點獲取,并不會從源站獲取數據,所以真實的CDN命中率是略高于CDN控制臺顯示的命中率。
    說明:CDN數據流向為客戶端>CDN的1級節點>CDN的2級節點>源站。
  2. 查看提交的CDN加速域名的流量情況。在加速域名流量不高的情況下,即便MISS狀態的URL不多,但是對命中率的統計計算影響很大。例如,某CDN加速域名一共對外提供了10個可以訪問的URL,其中有一個URL源站上設置了no-cache,導致不緩存,在其他URL訪問都命中的情況下,命中率也僅有90%。
    說明:CDN加速域名的流量帶寬可以在CDN控制臺獲取。
  3. 檢查業務QPS是否正常。CDN的緩存規則默認是按照配置的緩存時間進行緩存。但節點的磁盤空間是有限的,在高頻用戶訪問的情況下,緩存文件會按照冷文件的冷熱程度汰換,訪問頻率較低的文件會被訪問熱點的文件汰換掉造成回源。遇到這種情況一般都是只有十幾個QPS的域名,建議您定義對自己域名下的資源進行預熱,保證是命中在節點。

緩存配置檢查

檢查是否因部分參數配置不合理導致緩存命中率低,具體操作如下:

  1. 檢查是否開啟強制Range回源,詳情請參見配置Range回源。此功能開啟后,所有回源請求將按照設定的Range size切片回源。 Range的功能也有兩面性,對于源站是大文件的(超過50M) 場景,Range分片可以有效的降低大文件下載時遇到的網絡擁塞,以及源站為窄帶的情況。但如果源站的文件平均size相對較小,比如在10M以內的文件,開啟強制Range回源沒有優化效果,反而降低回源的效率,擴大回源,使命中率降低。
  2. 檢查CDN的加速URL中是否帶有可變參數。當您的業務經常使用uri帶有變量,并且不同用戶請求都有不同的parameter變量時,CDN會按照URL hash后的值存儲,每一條不同的uri都會觸發回源,CDN就變成透傳的組件失去了緩存的意義。遇到這種情況,建議可以開啟CDN忽略參數緩存的功能,將uri"?"以后的資源去掉后再進行CDN緩存。但如果源站或者用戶對"?"后的參數強依賴,建議切換到全站加速(DCDN)產品,通過智能選路回源更靈活,CDN是固定邊緣節點、中心節點雙層回源,對于強依賴"?"變量的訪問效果略低于全站加速(DCDN),智能選路是動態的網絡質量檢測規劃回源路徑,可能是邊緣節點直接回源,也可以是邊緣節點回到中心節點再回源。
    說明:例如URL地址為http://example.aliyundoc.com/1.txt?timestamp=14378923,其中timestamp值為時間戳,每次訪問此值均不同。CDN針對第一次訪問的URL,即之前未預熱的URL,無論該URL是否符合CDN的緩存規則,由于節點上還沒有這個文件,第一次訪問肯定都是MISS狀態。但是timestamp參數會變化,所以每次訪問都是一個全新的URL,則每次都返回MISS狀態,從而影響命中率。
  3. 檢查源站是否開啟多副本緩存。多副本緩存是服務端(源站) 針對用戶請求帶有不同Accept-Encoding頭,源站能響應不同的Vary頭,且CDN會按按照不同的Vary頭進行緩存。帶有不同vary頭的請求會增加回源的次數,導致命中率降低。

  4. 檢查緩存配置是否合理。源站上緩存Header設置不當,或者缺少必要的Header,如果CDN的緩存規則是不緩存,那么每次訪問都是MISS狀態,影響命中率:
    • 緩存Header設置不當,主要是Cache-Control或者Pragma配置,即源站上設置了Cache-Control為no-cache、no-store、max-age=0、private,或者Pragma設置為no-cache等情況下,均會被CDN當做最高優先級執行不緩存操作。
    • 缺少必要的Header,指源站的Response頭部信息中不包含ETag和Last-modified,這種情況也會導致不進行緩存。
    • 源是否設置過緩存頭,CDN默認按照源站的緩存頭優先級緩存,如果源站設置了不合理的緩存頭,比如max-age=0,則覆蓋CDN 的緩存。
  5. 檢查CDN控制臺是否設置了不緩存的規則,即某目錄或者某種后綴的文件設置的緩存時間為0秒。
  6. 檢查源站動態內容是否較多,目前CDN主要是加速靜態資源,例如CSS、JS、HTML、圖片、TXT、視頻等資源,針對動態資源PHP、JSP、包含內部邏輯處理甚至Cookie等資源都會回源數據。
  7. 刷新操作頻繁。CDN控制臺有定時刷新功能,每次刷新都會導致所有已經在CDN上緩存的URL失效,所以在刷新之后訪問同樣的URL時,就是MISS狀態,從而影響命中率。
  8. 文件熱度不夠。不經常被用戶訪問到的URL,即使符合所有緩存規則,但是經常有被節點去除緩存的風險。CDN節點上緩存的文件,可以理解為按照熱度屬性采取末尾淘汰制,熱度就是該文件在該節點上被訪問的頻率,文件熱度不夠,其實一定程度上跟這個域名本身的流量不高有關系。

相關文檔

CDN緩存相關文檔如下:

適用于

  • CDN