海外サーバーは機能面やコスト面で優れていますが、日本で利用する場合には伝送遅延の問題があります。実はこのサイト Amazon EC2 のUS East のサーバーを使っているのですが、Google ウェブマスター ツールの「サイトのパフォーマンス」の結果では、「サイト内のページの平均読み込み時間は 4.2 秒です。 全体の 67% にあたるサイトよりも遅い読み込み時間です。」となっており、読み込み時間をもう少し速くしたいと思っています。そこで、Amazon EC2 の US East リージョンと東京リージョンに、このWeb ページと同じサイトを作成して、表示速度にどれぐらいの差があるか調べてみました。
測定ツールとしては最初にローカルのパソコン用のツールである Google の Speed Tracer を使ってみました。Speed Tracer は、Google Chromeのエクステンションで Dev Channel バージョンにインストールします。Speed Tracer を使うと下の図のように、上部にはグラフで処理の重さが表示されます。また、Network を選択すると、アイコン付きのファイル名が左側に表示されて、右側にそのロードタイムが横棒で表示されます。この図を見ると、どの処理に時間がかかっているかもよくわかります。
測定については、/personal-site/ のページを10回測定し、その平均としました。読み取り時間の測定結果は、以下のようになりました。
- 東京リージョン:1.2秒
- US East リージョン:1.8秒
次に、サイトの表示スピードを測定することができる Webサイトである WebPagetest.org を利用して読み取り時間を測定してみました。WebPagetest は、もともとは AOL が開発したソフトで、なかなか優れものです。
Speed Tracer の場合と同じく、/personal-site/ のページを10回測定しその平均としました。測定地点については約30カ所が選択できますが、US East リージョンに近いデフォルトのダレス(Dulles, VA USA)をまず選択しました。読み取り時間の測定結果は、以下のようになり、US East リージョンが4割以上速いという結果になりました。
- 東京リージョン:First View 4.2秒 Repeat View 3.0秒
- US East リージョン:First View 2.5秒 Repeat View 1.7秒
WebPagetest.org では測定地点に東京を選択することができるので、次に東京を選択して測定してみました。測定結果は以下のようになり、今回は東京リージョンが2割速いという結果になりました。
- 東京リージョン:First View 5.6秒 Repeat View 3.0秒
- US East リージョン:First View 7.0秒 Repeat View 3.7秒
この結果からみると伝送遅延の問題は確かにあるということです。 Amazon EC2 の場合には、東京リージョンを使うとコスト的には2割ぐらい高くなりますが、レスポンスは2割以上速くなります。結局、処理が重くで表示が単純な場合であれば海外サーバーを利用するのが有利で、一方、画像、CSS、JavaScript のファイル数の多い場合には遅延が大きくなるので国内サーバーを使った方がいいということになります。結論としては、月並みな内容になってしまいました。