Edited at

Googleのネットワーク上で各大陸がどのぐらい遠いのか調べてみた

GCPを利用すると、アジア、アメリカ大陸、ヨーロッパなどのリージョンを選ぶことが出来ますが、その各リージョンがネットワーク的にどのぐらい遠いか(RTT)を計測してみます。

リージョンはこのぐらいあります。

スクリーンショット 2019-02-13 17.37.16.png


リージョン間のRTTを計測する際の注意点

こちら にある図を見るとわかりますが、Googleのネットワークは、日本⇔ヨーロッパと言う経路を考えた際、インドから西を通るルートが無いようです。

実測するとわかりますが、日本⇔ヨーロッパ間でアクセスすると、太平洋を経由しアメリカ大陸経由でアクセスされます。

スクリーンショット 2019-02-13 17.37.26.png


実際に計測してみる

今回は、

アジア : 東京

アメリカ(西) : Los Angeles

アメリカ(東) : N Virginia

ヨーロッパ : Frankfurt

を利用して計測します。

経路的には以下の6つのルートに対して計測をしました。

スクリーンショット 2019-02-13 17.13.39.png


  1. 東京 → ヨーロッパ

  2. 東京 → アメリカ(東)

  3. 東京 → アメリカ(西)

  4. アメリカ(西) → アメリカ(東)

  5. アメリカ(東) → ヨーロッパ

  6. アメリカ(西) → ヨーロッパ

になります。


計測環境

Googleのネットワークは以下の図のPremium Tierのものが標準で選択されます。 参考

image2.gif

今回の計測では、Google外部のネットワークの遅延の影響を受けたくないため、送信側/受信側ともにGoogleのネットワーク内で完結させます。

今回は、送信側/受信側ともにGAE/goを利用しました。

仕組み的には、送信側のGAEへリクエストを送信し、リクエストを受けた送信側のインスタンスはurlfetchパッケージを利用し、受信側のGAEへリクエストを投げます。

30回リクエストを投げた際の最大値、最小値、平均値を記録し、それを4回計測します。


計測結果


① 東京 → ヨーロッパ

試験回数
結果

1
max: 1179, min: 1149, avg: 1153.741935

2
max: 1228, min: 1149, avg: 1156.741935

3
max: 1160, min: 1150, avg: 1152.451613

4
max: 1235, min: 1149, avg: 1155.677419

平均 : 1154.6 msec.


② 東京 → アメリカ(東)

試験回数
結果

1
max: 779, min: 750, avg: 753.612903

2
max: 835, min: 749, avg: 760.774194

3
max: 837, min: 750, avg: 759.612903

4
max: 770, min: 749, avg: 753.548387

平均 : 756.8 msec.


③ 東京 → アメリカ(西)

試験回数
結果

1
max: 514, min: 497, avg: 500.645161

2
max: 596, min: 497, avg: 504.322581

3
max: 591, min: 497, avg: 502.870968

4
max: 576, min: 497, avg: 502.032258

平均 : 502.5 msec.


④ アメリカ(西) → アメリカ(東)

試験回数
結果

1
max: 448, min: 306, avg: 312.387097

2
max: 366, min: 306, avg: 310.483871

3
max: 378, min: 305, avg: 313.032258

4
max: 361, min: 305, avg: 310.419355

平均 : 311.5 msec.


⑤ アメリカ(東) → ヨーロッパ

試験回数
結果

1
max: 476, min: 440, avg: 443.967742

2
max: 514, min: 440, avg: 447.161290

3
max: 499, min: 439, avg: 445.096774

4
max: 444, min: 440, avg: 442.451613

平均 : 444.6 msec.


⑥ アメリカ(西) → ヨーロッパ

試験回数
結果

1
max: 714, min: 706, avg: 708.903226

2
max: 768, min: 706, avg: 712.354839

3
max: 716, min: 706, avg: 709.032258

4
max: 756, min: 706, avg: 710.967742

平均 : 710.2 msec.


まとめ

以上の結果を見たところ、最大値でもブレが非常に少なく、とてもネットワークの品質は良さそう。

最低値はほぼ揃っていて、ぶれていても2-3msec程度なので、ほぼその付近がネットワーク的な限界値のような気がします。

例えば、全世界向けのアプリケーションをデプロイしたい、というような場合には、アジアリージョンにデプロイした場合にはヨーロッパからの遅延が大きくなるため(テスト結果から1200msec程度)、アメリカのリージョンにデプロイすることで、アメリカ東 → ヨーロッパ、アメリカ西 → 日本のいずれも500msec近辺に収めることができそうです。

静的なコンテンツに関しては、GAEを利用した場合、GFE(Google Front End)のキャッシュや、CloudCDN、または、サードーパーティーのCDNを利用することで遅延を更に少なくすることができます。

YouTubeやGoogle Playが利用している Edge nodes (Google Global Cache, or GGC) は、以下のように世界中に存在するため、遅延をかなり減らせるようです。(追記: GGCは現状はGCPから利用することは出来ないようです)

スクリーンショット 2019-02-13 18.17.58.png


参考資料

https://peering.google.com/#/infrastructure

https://cloudplatform-jp.googleblog.com/2017/09/introducing-Network-Service-Tiers-your-cloud-network-your-way.html