VeryCloud、騰訊云CDN使用技巧總結之查看命中緩存情況
編輯:狂族晨曦 來源:經驗雜筆 日期:2016-04-06 閱讀: 4,524 次 1 條評論 » 百度已收錄
先森用了幾天的VeryCloud、騰訊云兩個云服務商的CDN,時間雖短,卻問題不斷。發現問題→解決問題是使人進步的途徑。這來來回回的問題,雖然讓先森愁白了頭,也讓先森get到了很多技能。此文的作用,是為了不讓自己忘記這些來之不易的經驗,如果能幫到人,那就更好了。
1.騰訊云
關于騰訊云的命中緩存,先森一開始用騰訊云CDN就發起工單問了售后。估計先森遇到了一個騰訊云的雛,直接回復先森的沒有通過響應頭查看命中緩存的方式。先森也是醉了,他讓先森看前后對比,后面讓先森檢驗MD5:

騰訊云雛鳥
后來先森通過實際使用,終于發現了正確的使用方法,并且又發起工單證實了。以下是一位騰訊云老鳥的回復:
“您好:
如何判斷用戶訪問是否命中CDN cache
查看訪問回包頭部的X-Cache-Lookup信息
X-Cache-Lookup:Hit From MemCache 表示命中CDN節點的內存
X-Cache-Lookup:Hit From Disktank 表示命中CDN節點的磁盤
X-Cache-Lookup:Hit From Upstream 表示沒有命中CDN”
簡單明了爽快。
先森用的聯通,只有電信線路解析的是騰訊云。通過360的奇云測,先森發現電信線路大部分都有命中緩存。

騰訊云CDN命中緩存
2.VeryCloud
VeryCloud是否命中緩存的查看方法,其實先森已經在網站接入VeryCloud一文中已經介紹過了,但是這里為了做一個歸納,且先森發現了新的方法,所以再次貼出。
首先,查看是否緩存命中的方法還是看響應頭,有一項很顯眼的Powered-By-VeryCDN,HIT表示命中緩存,MISS表示回源,沒有命中緩存:

VeryCloud命中緩存
其實讓先森很不開心的,就是用奇云測還能看到一些HIT命中緩存的情況,先森本地嘗試則重來沒有命中過緩存,為這事先森找了幾次客服。今天先森遇到了認識的第四個VeryCloud售后工程師,他告訴先森,是因為每次刷新訪問的CDN節點不同導致的。我們知道,CDN是在網頁第一次被訪問的時候緩存,第二次訪問的時候訪問緩存。而每次訪問的節點不同,就導致不停的在為不同的DN節點緩存,而沒有命中緩存。并且這位工程師教了先森一項更準確的檢查方式。
先森查看響應頭用的是瀏覽器的方式,這位工程師教的則是Linux命令查詢了。幸好先森虛擬機里裝了Linux,雖然是圖形界面的,但是也能用。當然,我們要讓Linux聯網,怎么聯網先森就不贅述了。
使用的是wget命令,熟悉Linux的童鞋應該會常用到。這里主要是介紹給和先森一樣沒怎么接觸過Linux的站長,反正先森是感到很驚奇啦。
進入Linux,右鍵“在終端打開”,進入類似windows中cmd的界面。代碼有以下兩種:
wget -SO /dev/null url wget -SO /dev/null url -ehttp_proxy=ip
其中,將url改成你想要測試的鏈接,ip改為你想要測試的CDN節點IP。下面是先森用Linux的測試情況:

wget -SO /dev/null url

wget -SO /dev/null url -ehttp_proxy=ip
總結
這樣能滿足我們對緩存設置情況進行檢查,但是要使每個CDN節點都能命中緩存,要不就內容預取,要不就只有增加自己網站的訪問量了。因為CDN畢竟是訪客第一次訪問的時候直接回源并開始緩存,第二次訪問的時候命中緩存。訪問量要是多的話,當然就更容易命中緩存了。
轉載請注明出處來自http://www.cnidcc.cn/vc_txycdnsyjqzj.html

川公網安備 51011202000104號
前來報到