CDN 快取重要,並不只是因為「網站會變快」這麼簡單。當使用者與主機相隔數百甚至數千公里,每次請求都回到主控伺服器,延遲、頻寬與主機負載很快就會一起上升。CDN 會把圖片、CSS、JavaScript、影片片段,甚至部分頁面內容暫存在靠近使用者的邊緣節點,讓請求不必每次都穿越整個網路。對需要多個 Linux 節點、規則配置與邊緣加速的 CDN 系統來說,快取其實就是穩定性的核心。
CDN 快取如何減少主機壓力
假設一個頁面平均包含 2 MB 靜態資源,每天有 10 萬次請求,若所有內容都由主控站點直接提供,理論上就可能產生約 200 GB 的傳輸量,還未計算重複載入、圖片放大與下載失敗重試。啟用快取後,只要邊緣節點的命中率達到 80%,回源請求與主機需要處理的流量便能大幅下降。
這也是為什麼測試環境用 1 核 CPU、1 GB 記憶體可以勉強運作,但正式業務不能只看「網站打得開」。當快取寫入、PHP 請求、MySQL 查詢同時發生,資源不足的節點很容易出現載入變慢、磁碟爆滿,甚至服務中斷。
快取命中率不是越高越好
CDN 快取需要配合內容類型設定。圖片、字型、CSS 和版本化的 JavaScript 通常適合設定較長的 TTL;登入頁、購物車、管理後台則不應直接長時間快取,否則可能出現內容錯誤或權限風險。
實務上更值得觀察的是快取命中率、回源流量、節點磁碟使用率與平均回應時間。比如某個節點快取上限設定為 20 GB,磁碟只有 40 GB,看似足夠,但日誌、系統檔案與臨時檔案也會佔用空間。快取盤接近滿載後,清理與寫入頻繁進行,效能反而可能下降。
節點部署與快取規則要一起規劃
CDN 不是安裝完節點就結束。邊緣節點需要穩定的網路、足夠磁碟,以及正確的回源設定;主控端則要注意 PHP、資料庫和排程是否正常。建議先用低流量網站測試快取規則,確認清除快取、HTTPS、錯誤頁與回源超時都能正常運作,再逐步增加節點。
說到底,CDN 快取的價值不只在速度,更在於把流量分散、降低單一主機故障影響。規則設定得當,使用者感受到的是更快的開啟速度;管理者看到的,則是較低的回源成本與更從容的流量承載能力。

評論(7)
原來快取命中率不是越高越好,登入和購物車真的不能亂設長時間快取
以前只注意網站速度,沒想到回源流量和節點磁碟也要一起看
80%命中率這個例子很直觀,實際部署時應該會差很多
想請問快取清除通常會怎麼安排,尤其是版本更新的時候?
測試環境能跑不代表正式流量撐得住,這點很有共鳴
快取盤快滿時效能反而下降,這個細節很容易被忽略
如果是小型網站,先從圖片和 CSS 設定快取應該是比較穩妥的做法