Menu

Cloudflare Argo 測試,CDN 加速的黑科技

ZE3KR 發佈於 20th May, 2017

本網站曾經一直將國外解析到 CloudFront 實現為國外加速,最近看到 Cloudflare 支持了 Argo 這一新功能,於是就把國外的 CDN 從 CloudFront 換到了 Cloudflare 並開啟了 Argo 來試一下效果,官方宣稱無緩存時能明顯降低 TTFB(首字節延遲),有緩存時也能提高緩存命中率。

提升緩存命中率,Argo Tiered Cache

Cloudflare 的節點很多,但是節點太多有時不是一件好事——大多數 CDN 之間的節點是相對獨立的。首先要先明白 CDN 的工作原理,CDN 通常不會預先緩存內容,而是在訪客訪問時充當代理的同時對可緩存的內容緩存。就拿本站來說,本站用的是香港虛擬主機,如果有英國倫敦的訪客訪問了我的網站,那麼由於我的網站是可被緩存的,他就會連接到倫敦的節點並被緩存在這個節點。那麼如果是英國曼徹斯特的訪客訪問了呢?由於 CDN 在曼徹斯特另有節點,訪客會直接連接到曼徹斯特節點,然而曼徹斯特上並沒有緩存,所以該節點會回源到香港。而顯然的是,如果曼徹斯特回源到倫敦,使用倫敦的緩存會更快。

綜上,如果能選擇性的從其他節點上獲取資源,TTFB 會更低,緩存命中率也會相應提高。但是一般的 CDN 不會去這樣做,因為節點相互獨立,節點之間並不知道對方是否已經緩存。一般的解決方法是節點與源站之間先經過為數不多的幾個節點,這幾個節點可能只是分佈在幾個州,比如整個歐洲就只有一個這種節點。這樣的話,倫敦的訪客訪問後,同時也被歐洲的那個節點緩存。這樣,當再有歐洲其他地區的訪客連接到一個沒有緩存的節點時,這些節點會直接提供歐洲的那個節點的緩存。CloudFront 和 KeyCDN 就利用了這樣的技術。

訪問來源網站

ZE3KR
ZE3kr 是郭澤宇用於發佈內容的 ID,發布的內容匯集以科技、攝影為主的原創精選文章、視頻、圖片、短文和 App 推薦。

  Website      Github      Twitter

Sending
User Rating 5 (2 votes)

Leave a Reply

你的電子郵件位址並不會被公開。 必要欄位標記為 *