CDN 幾種使用常見的架構
CDN診斷工具:
1、client 出口 IP,DNS 訪問到的 CDN 節點 IP https://cdn.dns-detect.alicdn.com/https/doc.html; (阿里排障工具)
2. 查看訪問IP地址釋放爲阿里雲CDN的IP
3. 頁面檢查工具
4. 瀏覽器查看CDN信息
5.用的 Linux 基礎命令用來測試
curl -I taobao.com
curl -X POST|HEAD|PUt -H “key: value” 模擬請求頭和請求類型的命令
wget –Header=”key:value”
traceroute -n taobao.com (查看網絡鏈路問題)
mtr -r -n taobao.com (查看網絡鏈路問題)
tcpdump -i devname -s0 -v host x.x.x.x and port xx -w filename.pcap
ping -c 100 -s 1024 -i 0.01 -d taobao.com (延時,解析到的IP地址)
ping -w 1 taobao.com
CDN 常見問題
域名接入無法訪問
- 首先看一下接入域名是否已經解析到了阿里雲CDN,使用dig命令來看一下域名的解析
dig www.youdomainname.com
如果域名解析到帶有kunlun字樣的域名則說明已經解析到了cdn了
- 看一下源站是否存在問題,直接修改本地hosts文件,訪問源站看是否有問題。
vim /etc/hosts
如下圖,寫ip地址,空格自己的域名,那麼當您清除了瀏覽器的緩存記錄,並重新開啓瀏覽器進行訪問時,您將直接從1.1.1.1這個源站IP獲取數據,不再經過CDN,
CDN訪問異常的時候如何排查
- ping域名 ,查看解析出的IP是否是阿里雲CDN的節點,參考CDN節點IP查詢方法來查看IP是不是阿里雲CDN的節點。
- 如果不是阿里雲CDN節點的IP,那麼說明被劫持的,建議向客戶端訪問所在網絡運營商進行投訴。
- 如果是阿里雲CDN的節點IP,且能ping通域名,那麼本地域名綁定host測試,看下是CDN問題還是源站問題。具體操作步驟請參考CDN訪問異常。
- 如果檢查下來源站不能訪問,那麼檢查源站。如果源站可以訪問,通過CDN無法訪問,那麼把ping域名截圖和訪問按照這個鏈接http://tool.alikunlun.com/doc.html 的截圖保留下來一併提交工單聯繫我們。
- 如果是阿里雲CDN的節點IP,但是ping域名不通,可能是網絡或者CDN節點有問題。通過mtr到域名(mtr使用介紹請參考ping丟包或不同時鏈路測試說明)的路由跟蹤截圖、訪問http://tool.alikunlun.com/doc.html 這個鏈接的截圖和ping域名的截圖都保留下來一併提交工單聯繫我們。
使用CDN後網站訪問變慢問題分析方法
CDN服務的主要功能就是進行網站訪問加速,有的網站使用CDN後,訪問速度反而會比不用CDN的的情況還要慢?
本文就是針對這種情況提供問題排查的思路和方法,
出現這種問題常見的有兩種可能場景。
一、緩存命中率不高,影響緩存命中率的常見的幾個原因如下:
緩存配置的問題
頻繁的刷新url或者目錄緩存
Http Header導致無法緩存
剛添加,緩存的文件還不多
源站類型,可緩存的內容少
網站訪問量低,過期時間短,命中的文件少
二、局部地區訪問速度較慢,個別區域動態文件回源較慢。
只要是文件被CDN 緩存後,CDN 訪問就會比源站訪問快些的。出現這種請可以參考如下的排查思路進行定位:
1、測試域名解析是否正確,以確保您的應用已經正常解析到CDN 上。常用的命令是ping 域名即可
2、測試域名進行訪問,在本地電腦上使用開發工具F12 ,然後按住Ctrl+F5 多刷新幾次,找一些靜態頁面判斷一下是否已經被緩存,主要看x-catch 是否已經hit。hit說明已經命中,miss說明沒有被緩存。如果沒有被緩存,就需要在排查一下沒有被緩存的原因了。
3、看一些已經緩存的靜態文件的加載時間,然後截圖對時間進行一下標註 ;
4、在將用戶域名綁定到本地的hosts 文件,綁定後等於解析到源站上進行訪問,還是使用開發者工具,Ctrl+F5 多刷新幾次,找一下剛剛查看到的文件連接,關注一下時間,標註截圖。然後將兩個標註的截圖都發給客戶,這裏一定會看到源站的訪問時間要比CDN 加速後訪問的時間要長的。就可以驗證了。
域名使用CDN之後訪問提示504 Gateway Time-out
問題場景:使用CDN加速之後,訪問域名出現504 Gateway Time-out,如下圖
問題原因:出現此類情況一般都是由於源站異常導致,由於CDN回源取數據的時候,如果源站在30s內沒有響應,CDN就會拋出“504 Gateway Time-out”的報錯;
1、如果使用的是阿里雲服務器ECS,遇到此類情況時,建議先登陸管理控制檯在如下圖位置處查看服務器的CPU以及帶寬使用是否有異常,參考CPU異常和帶寬跑滿的不同情況進行分別進行檢查;
2、直接修改本地電腦的host文件,將域名直接指向源服務器IP,測試訪問是否正常,修改方法請點擊查看,如果同樣無法訪問,需立刻檢查源服務器或者程序是否存在異常。
參考:
https://help.aliyun.com/knowledge_list/40208.html