資安

【CDN 排查方案-1】認識 CDN 網絡調優

作者:張醫博

背景:面向不同業務類型的網站,很多人都選擇了 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 時間

image.png

建聯時間

image.png

  • 定義:

瀏覽器和 WEB 服務建立 TCP/IP 連接時間

  • 特徵

代表 RTT ,直接體現 ping 值,反應 CDN 邊緣節點質量

建聯時間應該在 30ms 以內,小文件建聯時間應越小越好。

建連時間是基礎,建聯時間長會引發一系列慢的情況,不同 CDN 服務商會有不同的 TCP/IP 的優化。

SSL 握手時間

image.png

  • 定義

瀏覽器和 WEB 服務端建立安全套接層(SSL)鏈接的消耗時間

  • 特徵

只有 HTTPS 協議中才有這個時間指標,反應服務端的處理能力,SSL 握手時間長會導致整體時間長

首包時間

  • 定義:是從瀏覽器發送 HTTP 請求結束後,收到 WEB 服務器返回的第一個有效載荷數據包
  • 特徵:代表建聯時間和服務器的響應時間之和

建聯時間長且首包時間長:網絡問題

建連時間端但首包時間長:服務器負載過高,或者靜態數據沒能緩存住

內容下載時間

image.png

  • 定義:瀏覽器從收到首包開始計時,至數據包全部接收全所需要的時間
  • 特徵:

受網路質量(RTT 和丟包率)影響

受設備負載影響

受 TCP 協議棧技術影響

3、CDN 調優可調的指標有哪些

  • 解析層級 :應控制檯二層以內,解析層級過多損耗更多。
  • CDN 節點配置:節點精細化比較好,一般都是到省級別的骨幹節點,輔助個別地市級別的節點
  • 如果遇到域名劫持,需要向當地運營商反饋,目前 CDN 在 client 端防劫持的手段可以通過 HTTPS 預防,效果不一定是 100% 但是在 DNS 階段不太好禁止。DNS 劫持我們可以通過 nslookup 或者 dig 驗證。

檢查設備負載

  • CPU 負載高,導致應用處理能力下降
  • 磁盤 I/O 負載高,導致服務器給出資源耗時長
  • cache server 響應時間
  • 網絡負載
  • 帶寬負載

    • 設備帶寬

虛擬機(網橋性能問題)接近閾值丟包響應時間長

物理機(網卡級別)接近閾值丟包,響應時間長

  • 連接數異常高,導致網絡處理能力下降

長連接

keepalive 是使用同一個 TCP 鏈接來發送和接收多個 HTTP 請求/應答,而不是每一個新的請求/應答打開新的連接的方法。

image.png

未完待續

Leave a Reply

Your email address will not be published. Required fields are marked *