前兩天開始就開始在社群網站還有通訊軟體群組上看到在傳 CloudFlare 的系統狀態監測頁面 “CloudFlare system status” 上多了 TPE – Taipei, Taiwan 的結點
CloudFlare 的 CEO 也在 Twitter 上間接證實了這件事:
@PeterDaveHello shhhh… that's a secret.
— Matthew Prince (@eastdakota) April 8, 2016
稍為搜尋了一下,能找到這個點的最新公開紀錄只有在 CloudFlare system status 4/6 上的一個 DNS Propagation delays in APAC, Incident Report for CloudFlare 裡面看到,明確的建置以及上線時間就不知道了:
根據在 CloudFlare support 上面的文章:Which CloudFlare data center do I reach?,每個節點都是使用 Location Code: City, (State,) Country 這樣的格式來表示,而 location code 是使用最靠近的主要國際機場的 IATA 代碼 ( Each location code is the IATA code of the nearest major international airport.),冷知識一下,雖然上面也寫著 Taipei,不過 TPE 是桃園國際機場 Taiwan Taoyuan International Airport 的代號,也許外國人比較認得台北認不得桃園吧?
昨天看的時候看起來只有免費方案的流量會倒到台灣的點去,應該可以算是初期的測試,而付費流量像是 cdnjs.com, digitalocean.com 以及 cloudflare.com 都還是繼續倒到香港,而今天早上看的時候發現付費用戶的流量都已經改倒到台灣了,看圖:
目前看起來從台灣學術網路、中華電信、遠傳、亞太的追蹤結果都是走到 TPE 上面去的,有興趣了解自己使用的網站 / 線路使用的是哪一個節點,可以在網址的 hostname 部份後面接上 /cdn-cgi/trace 就會看到類似上面那張截圖的結果 (前提當然是該網站有使用 CloudFlare ,其他 cdn 業者作法可能不盡相同),這邊是一些範例:
- CloudFlare:
- cdnjs 在 CloudFlare 的 cdn
- cdnjs.com
- feedly
- DigitalOcean
- Stackoverflow
截至目前為止,CloudFlare 的 network map 上還無法看到台灣的節點,推測因為還在測試階段:
隨手 ping 了一下 cloudflare.com 跟 cdnjs.com ,順便跟 www.google.com.tw 還有 8.8.8.8 (Google 的 public DNS) 通通 ping 1000 次來簡單比較一下,看起來狀態還不錯,紀錄如下:
cdnjs.com (解出來的 IP 是 104.24.28.58)
--- cdnjs.com ping statistics --- 1000 packets transmitted, 1000 received, 0% packet loss, time 1000140ms rtt min/avg/max/mdev = 3.110/4.518/91.415/5.132 ms
cloudflare.com (解出來的 IP 是 198.41.215.162)
--- cloudflare.com ping statistics --- 1000 packets transmitted, 999 received, 0% packet loss, time 1004132ms rtt min/avg/max/mdev = 4.058/4.250/8.483/0.369 ms
cdnjs.cloudflare.com (解出來的 IP 是 198.41.215.67)
--- cdnjs.cloudflare.com ping statistics --- 1000 packets transmitted, 998 received, 0% packet loss, time 1004403ms rtt min/avg/max/mdev = 4.997/5.237/8.925/0.352 ms
下面兩個是 ping Google 的:
--- www.google.com.tw ping statistics --- 1000 packets transmitted, 1000 received, 0% packet loss, time 1000038ms rtt min/avg/max/mdev = 5.918/6.528/18.506/1.564 ms
--- 8.8.8.8 ping statistics --- 1000 packets transmitted, 1000 received, 0% packet loss, time 999930ms rtt min/avg/max/mdev = 10.092/10.516/22.470/1.435 ms
以前 ping CloudFlare 在管的 domain ,回應時間動輒五六十甚至兩三百個毫秒 (ms) 的回應時間,現在平均只要 5 ms 左右而已,以台灣的地理位置而言,沒有太多 CDN 廠商在這裡布點,這樣的表現已經可以打趴大多數 CDN 供應商了。
感覺 CloudFlare 是一家做事相對小心謹慎的公司(先前 http/2.0 上線就比別人來的晚,上線後才發現他是唯一同時支援 spdy + http/2.0 的 CDN,強!),剛上線的架構可能還有不少東西可以調整,也需要一些時間觀察,應該不久後就會把台灣的機房更新到地圖上面去了,現在滿多網站前面都擋了 Cloudflare ,加上 cdnjs 目前的服務都是靠 CloudFlare 在跑的,這對台灣用戶來說是非常大的福音啊!
原先因為 CloudFlare 跟 Hinet 之間連線的頻寬、路由問題, CloudFlare 除了有免費方案以外,並沒有在台灣使用的誘因,現在多了台灣的機房後,加上同時具備免費方案、不限流量等特色,或許在台灣的 CDN 市場也會有所洗牌 … 就來觀察看看吧。
最後附從國外 VPS 來 ping cdnjs.com, cdnjs.cloudflare.com 和 cloudflare.com 的對照組:
在 Digitalocean 新加坡 (sgp1) 機房測試結果:
--- cdnjs.cloudflare.com ping statistics --- 1000 packets transmitted, 1000 received, 0% packet loss, time 99914ms rtt min/avg/max/mdev = 0.466/0.766/135.247/4.395 ms --- cdnjs.com ping statistics --- 1000 packets transmitted, 1000 received, 0% packet loss, time 99987ms rtt min/avg/max/mdev = 0.629/1.000/134.021/4.286 ms --- cloudflare.com ping statistics --- 1000 packets transmitted, 1000 received, 0% packet loss, time 99904ms rtt min/avg/max/mdev = 0.503/0.733/107.187/3.378 ms
在 Digitalocean 紐約 (nyc2) 機房測試結果:
--- cdnjs.cloudflare.com ping statistics --- 1000 packets transmitted, 1000 received, 0% packet loss, time 99921ms rtt min/avg/max/mdev = 0.706/0.789/2.541/0.094 ms --- cdnjs.com ping statistics --- 1000 packets transmitted, 1000 received, 0% packet loss, time 99986ms rtt min/avg/max/mdev = 0.738/0.871/1.744/0.078 ms --- cloudflare.com ping statistics --- 1000 packets transmitted, 1000 received, 0% packet loss, time 99923ms rtt min/avg/max/mdev = 0.734/0.816/2.053/0.091 ms
在 AWS 新加坡 (ap-southeast-1) 機房測試結果 :
--- cdnjs.cloudflare.com ping statistics --- 1000 packets transmitted, 1000 received, 0% packet loss, time 100880ms rtt min/avg/max/mdev = 1.640/1.777/2.719/0.101 ms --- cdnjs.com ping statistics --- 1000 packets transmitted, 999 received, 0% packet loss, time 100910ms rtt min/avg/max/mdev = 1.632/1.796/16.145/0.484 ms --- cloudflare.com ping statistics --- 1000 packets transmitted, 1000 received, 0% packet loss, tim e 101302ms rtt min/avg/max/mdev = 1.692/1.814/2.925/0.102 ms