作者:張醫博
背景:面向不同業務類型的網站,很多人都選擇了 CDN 加速來優化自己的網站,目的在於加速網民的體驗效果,贏取流量。
在網站調優的過程中,如果正確理解基於 CDN 的網絡調優以及正確的配合 CDN 服務方來快速提供調優信息做了詳細的講解,
希望對大家有用,希望對從事 CDN 的人和對網絡調優感興趣的人能有作用。
1、確認調優類型
1.1、靜態文件
- 小文件: URL 小於 64KB
- 大文件: URL 大於 1MB
- 視頻流:相當於大文件,要求速度平穩無卡頓
- 全頁面:網頁包含多個域名及元素
1.2 動態
- 小文件: URL 小於 64KB
- 全頁面網頁: 包含多個域名及元素
- 事物流程:模擬訪問,登錄,點擊,提交等行為
1.3 協議
- http、https
1.4 調優評測機制
- NetworkBench 、Gomez、 Bonree
1.5 用戶自定義評測
- 日誌統計(下載日誌分析對比)
- client 端探測(內嵌入播放器)
- 自定義監測點(蘋果 ADSL 檢測)
2 觀察指標時間,找出阻塞時間點
DNS 時間
建聯時間
- 定義:
瀏覽器和 WEB 服務建立 TCP/IP 連接時間
- 特徵
代表 RTT ,直接體現 ping 值,反應 CDN 邊緣節點質量
建聯時間應該在 30ms 以內,小文件建聯時間應越小越好。
建連時間是基礎,建聯時間長會引發一系列慢的情況,不同 CDN 服務商會有不同的 TCP/IP 的優化。
SSL 握手時間
- 定義
瀏覽器和 WEB 服務端建立安全套接層(SSL)鏈接的消耗時間
- 特徵
只有 HTTPS 協議中才有這個時間指標,反應服務端的處理能力,SSL 握手時間長會導致整體時間長
首包時間
- 定義:是從瀏覽器發送 HTTP 請求結束後,收到 WEB 服務器返回的第一個有效載荷數據包
- 特徵:代表建聯時間和服務器的響應時間之和
建聯時間長且首包時間長:網絡問題
建連時間端但首包時間長:服務器負載過高,或者靜態數據沒能緩存住
內容下載時間
- 定義:瀏覽器從收到首包開始計時,至數據包全部接收全所需要的時間
- 特徵:
受網路質量(RTT 和丟包率)影響
受設備負載影響
受 TCP 協議棧技術影響
3、CDN 調優可調的指標有哪些
- 解析層級 :應控制檯二層以內,解析層級過多損耗更多。
- CDN 節點配置:節點精細化比較好,一般都是到省級別的骨幹節點,輔助個別地市級別的節點
- 如果遇到域名劫持,需要向當地運營商反饋,目前 CDN 在 client 端防劫持的手段可以通過 HTTPS 預防,效果不一定是 100% 但是在 DNS 階段不太好禁止。DNS 劫持我們可以通過 nslookup 或者 dig 驗證。
檢查設備負載
- CPU 負載高,導致應用處理能力下降
- 磁盤 I/O 負載高,導致服務器給出資源耗時長
- cache server 響應時間
- 網絡負載
-
帶寬負載
- 設備帶寬
虛擬機(網橋性能問題)接近閾值丟包響應時間長
物理機(網卡級別)接近閾值丟包,響應時間長
- 連接數異常高,導致網絡處理能力下降
長連接
keepalive 是使用同一個 TCP 鏈接來發送和接收多個 HTTP 請求/應答,而不是每一個新的請求/應答打開新的連接的方法。
未完待續