CloudFlare & Google Cloud CDN

大概前兩天吧,為了測試 Google Computer Engineer (以下簡稱 GCE) 到底好不好用,網速到底夠不夠快,我們小 J 弄了台 VM 出來測試,當時我們就對 Google Cloud CDN 表現出來的速度水準驚艷不已,不管是拿 KeyCDN Tool 來測試全球速度,拿 Webkaka站長工具來測大陸速度,加上了 Google CDN 的測速結果都比單純使用 Google Load Balance 或僅用 GCE 的狀況下要來得快很多,可惜當時只是把幾個測試結果排在一起比較,並沒有截圖留念做個證明。
* 後來我們才發現當時所放上的 Google Cloud CDN之所以快,主因是因為有一起啟用了 Anycast IP,所以 Anycast IP 才是關鍵點,細節再請看以下的測試

CloudFlare 是另外一個我很愛的 CDN Provider,價格便宜、防攻擊,後台簡單好用,免費 DNS,又常會發表技術文在他們自己的部落格上讓人觀摩,只可惜不管是 Free Plan、Pro Plan 或是 Business Plan,速度表現上和其它商用的 CDN 來說都是差強人意的,有時候不錯,有時候就很慢,至於 Enterprise Plan 我個人是沒試過,聽說是和其它 CDN 一樣可以提供某種程度的客制化,例如 best routing 一類的,希望將來有機會用到。

雖然說 CloudFlare 通常是差強人意,但每次看到他們在部落格上 寫了些黑科技,就忍不住想要嘗試一下,像是 ArgoRailgun,兩種都有網友提到說他們的測試結果不錯,有人說 Railgun 比 Argo 好,也有人測試之後說 Argo 不錯,所以今天就讓我們自己來證明一下。

我大致上的基本架構,也是目前跑在 Internet 上的配置都是 GCE 為主,然後依序加上 Google Load Balance with Anycast IP、Google CDN、CloudFlare CDN 與 CloudFlare Argo 上去,看看哪一種配置跑出來的結果最好,這次的測試我只用 KeyCDN Tool 來測試,畢竟我們網站主要的使用者並非中國用戶,KeyCDN Tool 也相對簡單穩定,不會有其它工具有時候開不到的問題。

以下的測試結果因為 KeyCDN Tool 僅有 TTFB (Time To First Byte) 的關係,所以也就只能以這個數值為參考。

SpeedTest

 

結果… 最好的狀況就是 Google Anycast IP + GCE 的合體,由於我拿來測試的網站基本上全是動態內容,看來有沒有掛上 Google CDN 並沒有顯著的差異。以上結果就是說:全部採用 Google 的服務,其它什麼 CloudFlare + GCE ,或 CloudFlare + Argo + GCE 什麼挖貴的,全部都比不上 Google Anycast IP 的數字,拿掉了 Anycast IP 之後,速度就是上不去,跑幾次都是一樣。說實在的,這對於常常在讚嘆 CloudFlare 部落格的我來說,這實在是太打臉了,和什麼廣告都沒打,後台介面又整個陽春的 Google 比起來,在速度上 Google 實在是佔了太多優勢了。後來想一想,Google 花大錢在各地架海纜果然不是做白工的,有自有大頻寬海纜這種基礎建設大概就贏八成了。

當然 CloudFlare 有其 DDoS Mitigation 的功用在,也提供免費的 SSL 證書 (Google Cloud CDN 也有),但不管有沒有用 Argo,只要是上了 SSL 的網站,速度一律再下降一個檔次,所以我索性也就不紀錄了,放了也是難看。

最後要註明的是,我這次測試的 Argo 並非 CloudFlare 的完全版,完全版的 Argo 需要安裝一個 Argo Tunnel 的程式在 Server 端,讓 Server 可以走最好的路徑到 CloudFlare 機房,接著就看有沒有機會再去測試他了,不過我的下一個測試目標應該是號稱有機會可以節省動態網站頻寬 10 倍的 Railgun,Argo Tnnel… 再等等吧。

發表留言