今回は、AWSの海外リージョンのレイテンシについてです。
AWSが出てくるまでは、IT業界で仕事をしていても、サンパウロのサーバにログインすることなんて全くありませんでしたが、今は海外のサーバを使うことも珍しくはない時代になりました。
では、海外サーバを使った時に、どれだけ遅延が出るのか、その遅延はサービス的に「使える」レベルなのか、ということが気になるところです。
「使える」なら、少しでも安くなるリージョンのサーバを使いたいですよね。
ということで、全リージョンでHTTPレスポンスを調べてみました。
また、各リージョンの地理的な位置がよく分かってなかったので、Tokyoからの直線距離も調べてみました。
検証環境
検証には、t1.microのインスタンスをCentOS6で立ち上げて、Apacheをyumでインストールし、httpd.confはデフォルトのものを利用しました。
そして、Tokyoリージョンのサーバから、各リージョンのサーバに対して、HTTPのGETリクエストをCurlで投げて、その応答時間を測りました。
HTTPレスポンスタイムを図る
調べたコマンドは以下です。
$ curl -kL ‘http://XXX.XXX.XXX.XXX/’ -o /dev/null -w “%{http_code}t%{time_total}” 2> /dev/null
コマンドを実行すると、タブ区切りで以下の様な出力となります。
200 0.442
意味としては、%{http_code}がHTTPステータスコードで、%{time_total}がレスポンスタイム(秒)になるので、最初の「200」がステータスコードで、「0.442」がレスポンスタイムです。
このコマンドを全リージョンのサーバに対して実行していきます。
結果は以下の通りでした。(早かったものから順に載せています。)
リージョン | レスポンスタイム(秒) |
---|---|
東京 | 0.028 |
シンガポール | 0.174 |
カリフォルニア | 0.240 |
オレゴン | 0.291 |
シドニー | 0.309 |
バージニア | 0.370 |
アイルランド | 0.573 |
サンパウロ | 0.658 |
各リージョンの地理的関係
各リージョンの地図上の距離関係を見てみると、以下の図のようになります。
距離は、「計算距離:http://www.kyori.info/」というサイトを利用しました。
分かったこと
レスポンスタイムの一覧と上記の図から分かるのは、地理的な距離とレスポンスタイムは必ずしも連動していないということです。
例えば、カリフォルニアのサーバはシドニーのサーバよりレスポンスが早いですが、距離的には、シドニーの方が近いという結果になっています。
この距離は恐らく直線距離だと思いますが、実際のネットワークケーブルは、当然直線ではないはずなので、このような結果として見えているんだと思います。
オマケ
ちなみに検証時点のtracerouteのホップ数は以下のとおりです。
基本的には、経路と距離には関連性はないので、あくまでもご参考まで。
リージョン | ホップ数 |
---|---|
東京 | - |
シンガポール | 10 |
カリフォルニア | 14 |
オレゴン | 20 |
シドニー | 12 |
バージニア | 18 |
アイルランド | 14 |
サンパウロ | 13 |
次回も引き続きAWS関連をご紹介したいと思います。
更新予定は、2月中旬頃です。