天翼雲CDN最佳實踐

天翼雲開發者社群發表於2022-04-06


CDN的最佳搭配是物件儲存。影片點播、apk等檔案下載分發建議使用物件儲存,把檔案放在物件儲存上,將物件儲存作為CDN的源站。如果是純靜態網站,甚至可以把整個網站全部放在物件儲存上。

CDN可以起到隱藏源站IP的作用,防止源站IP遭到DDOS攻擊。源站在負載均衡、下一代防火牆或者直接在雲主機上對CDN節點配置白名單,其它地址訪問將被拒絕。

天翼雲CDN已支援將CDN和雲WAF相結合,變身為SCDN即安全加速,同時擁有CDN加速、Web網站防護和抗DDOS功能。

使用CDN建議對業務進行調整,將動態和靜態請求進行分離,讓動態和靜態請求切分到不同的域名。對靜態請求接入CDN靜態加速,對動態請求可根據需要接入全站加速或雲WAF,如果源站有安全防護也可以動態請求直接回源站。

接入CDN後源站基於日誌統計的訪客訪問統計將不再準確,可以在CDN控制檯對訪問進行分析統計,如訪客省份、運營商、流量、請求數等等資訊。

CDN快取規則可以針對副檔名、指定目錄、或者特定的訪問連結。快取時間要根據業務需求配置,對經常變更的檔案快取時間不要設得太長,不經常變更的檔案快取時間可以設長一些。快取時間主要影響CDN回源站的流量。

如果源站對檔案進行了更新而快取沒有過期,則訪客收到的仍然是老檔案,可以在CDN控制檯進行強制重新整理,重新整理後快取立即失效,訪客將訪問到新檔案。可以對全站全部重新整理,也可以只對指定的目錄、指定的連結進行重新整理。不建議全站重新整理,全站重新整理將造成回源流量短時間內增長。

對於影片點播等大檔案,建議提前在CDN控制檯上進行預熱分發,把檔案提前推送到CDN的中心節點,防止突發訪問時產生大量回源請求,對源站造成壓力。

可以在CDN控制檯對命中率進行分析,如果命中率低,就說明有很多檔案沒有被CDN快取,需要對熱門回源連結進行分析,調整快取策略。

可以在CDN控制檯檢視回源熱門連結,如果回源連結是靜態請求且請求量較大,說明該連結的檔案沒有被快取或者快取時間過短,需要對快取配置進行最佳化。

可以在CDN控制檯對http狀態碼及對應狀態碼的請求連結進行分析,重點檢查4xx及5xx錯誤。如果404錯誤高,就說明網頁中有死鏈且還有很多人訪問,需要找到對應的連結進行解決。如果500及502錯誤高,說明Web伺服器有內部錯誤或業務邏輯錯誤,需要結合Web伺服器的日誌進行排查。如果504錯誤高,說明有很耗時的應用超時了,需要調整CDN回源超時時間,或者是源站有丟包,需要對源站的網路質量進行檢查。但要記住,這些錯誤不可能完全消除。如果訪問到一個錯誤的連結或者有網路掃描,也會觸發403或404錯誤。5xx錯誤不可能完全消除,只能儘量減少5xx錯誤,把5xx錯誤控制在業務正常執行範圍以內。

如果透過CDN訪問出現5xx錯誤或無法訪問,可以透過修改電腦的hosts檔案,將域名解析指向源站進行對比測試。如果確認問題在CDN且短時間內無法恢復,可以透過修改DNS指向源站,繞過CDN直接回源站。

新業務接入CDN在進行域名配置後,同樣可以透過修改電腦hosts檔案,將域名解析指向CDN節點進行測試。如果測試業務完全正常,則可以修改DNS,將CNAME記錄指向CDN使業務切換到CDN。

新業務修改域名解析接入CDN後,可以透過站長之家ping檢測  類似的服務進行檢測,檢查域名解析是否全網生效。

當前使用者訪問到的CDN節點可以透過在命令列下ping域名,或者在瀏覽器的開發者模式中檢視。出現個別地方無法訪問,在報故障時需要報告訪問到的CDN節點,便於故障排查。

CDN排程是根據DNS請求判斷訪客的所在地,會盡量採用當地的CDN資源進行覆蓋,比如CDN會盡量讓湖南長沙電信使用者會訪問到湖南長沙的電信CDN節點,移動使用者訪問到湖南長沙的移動CDN節點。如果ping域名發現節點被排程到外省,甚至是其它運營商,說明DNS可能不是使用當地運營商DNS,可以檢查自己的DNS設定。可以透過 這個小工具檢測,看看自己的DNS被遞迴到哪兒。

需要在各運營商的DNS逐步支援edns-client-subnet協議後,CDN排程中心能透過DNS請求獲取訪客的真實IP,做到更精確的排程,也就不再有湖南使用者被排程到山東的問題。

114.114.114.114 這個DNS服務不是中國電信向公眾提供的DNS服務,請儘量使用當地運營商提供的DNS服務。

CDN預設的策略是不對問號後面的引數進行快取,則CDN把 和 ?t=1644998252 當成兩個相同的檔案。不管後面的引數如何變化,實際檔案還是同一份,則需要在快取策略中開啟去問號進行快取,減少回源量。否則每個請求都要回源站去取。

如果某種型別的檔案設定了快取策略,但該型別檔案的某些檔案不需要快取,需要確保每次訪問到的都是最新版本,則需要關閉去問號快取,同時在源站網頁的靜態連結後面帶上一個引數,常見的是帶上 ?t=1644998252 類似的引數,引數一般取當前的時間戳。這樣每次訪客重新整理時由於時間戳變更了,瀏覽器不會快取,CDN上也不會快取,保證每次取的檔案都是來自於源站的最新檔案。

 

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014251/viewspace-2885780/,如需轉載,請註明出處,否則將追究法律責任。

相關文章