海外ホスティングと国内ホスティング、訪問者とサーバーの距離
米国にあるサーバーから韓国語のWordPress記事を読み込むケースは珍しくありません。韓国の読者が米国のサーバーにアクセスするからといって、ページが必ず遅くなるわけではありません。
ソウルにサーバーを置いたサイトでも、動作が重くなることはあります。訪問者とサーバーの距離だけを見れば答えは簡単そうですが、実際の表示速度には、キャッシュ、通信経路、画像のサイズ、データベースの処理時間なども影響します。
サーバーの場所が重要なのは確かです。ただし、それだけで速度を判断するのは、インターネットを1枚の地下鉄路線図だけで説明しようとするようなものです。
訪問者はサーバーまで直接アクセスするわけではない
ウェブサイトのアドレスを入力すると、ブラウザはまず、そのアドレスがどのサーバーを指しているのかを調べます。続いてサーバーにページを要求し、サーバーから送られてきた文書や画像、フォントを受け取って画面に表示します。
訪問者とサーバーが遠く離れていると、リクエストとレスポンスのやり取りにかかる時間が長くなります。米国東部からシンガポールのサーバーまでは約9,520マイル離れている場合があり、Cloudflareも、このような距離が通信遅延を大きくする代表的な要因だと説明しています。
データが地図上の直線を飛んでいくわけでもありません。複数の通信機器を経由するたびに短い処理時間が発生し、その日のインターネットの混雑状況や通信事業者同士の接続状態にも左右されます。
そのため、同じ米国のサーバーでも、韓国の通信事業者からアクセスした場合と、米国の通信事業者からアクセスした場合では結果が異なることがあります。地図上では近いサーバーのほうが、実際の通信経路では遅くなることもあります。
サーバーが近くても遅いサイトはある
韓国国内からの訪問者が多いサイトなら、まずは国内サーバーを検討するのが合理的です。リクエストが移動する距離が短く、韓国の利用者と相性のよい通信網を使える可能性が高いからです。
だからといって、国内ホスティングであることだけを理由に、速度が保証されるわけではありません。安価なサーバー1台に多くのサイトを詰め込んでいたり、ストレージやメモリが不足していたりすれば、ソウルにあるサーバーでもページの表示は遅くなります。
データベースが同じ情報を毎回新たに計算している場合も同じです。サーバーが近いのに遅いなら、まず距離を疑うべきではありません。
WordPressで1本の記事を表示するまでの工程も、単純ではありません。ログイン状態を確認し、メニューやウィジェットを読み込み、プラグインが追加機能を実行し、データベースから必要な情報を探し出します。
この処理に時間がかかれば、サーバーが韓国にあっても訪問者は待たされます。画像の表示が遅い問題と、最初の文書が届くまでに時間がかかる問題は、原因が異なることがあります。
Googleも、検索順位では速度スコアだけを見ているわけではないと明らかにしています。実際の利用者が感じる画面の表示や応答性、レイアウトのずれなど、複数の要素を総合的に評価します。
海外サーバーを国内の訪問者に利用してもらう方法
海外ホスティングを選んだ場合でも、韓国内の訪問者にすばやく表示する方法はあります。代表的な手段がCDNです。
CDNは、オリジンサーバーのファイルを複数地域の中継サーバーにコピーしておくサービスです。韓国の訪問者が画像やスタイルファイルをリクエストすると、米国のオリジンサーバーまでアクセスせず、近くの中継サーバーから受け取れます。
Google Cloudは、CDNがユーザーに近いエッジサーバーからキャッシュされたコンテンツを配信すると説明しています。キャッシュとは、頻繁にリクエストされるファイルを一時的に保管する仕組みです。
この方式は、写真やJavaScriptファイル、スタイルファイルのように内容が頻繁には変わらないデータに適しています。訪問者が増えても同じファイルを毎回オリジンサーバーから取り出す必要がないため、オリジンサーバーの負荷も軽減できます。
ただし、CDNですべての問題を解決できるわけではありません。ログイン後の画面やショッピングカート、管理画面、リアルタイムの検索結果は訪問者ごとに異なるため、キャッシュに保存しにくいからです。
キャッシュにないデータを初めてリクエストしたときは、CDNもオリジンサーバーからファイルを取得しなければなりません。Cloudflareも、キャッシュが空だったり保存されていなかったりするリクエストでは、オリジンサーバーまでの距離がパフォーマンスに影響すると案内しています。
そのため、海外サーバーとCDNを組み合わせると、静的ファイルは速いのに、ログイン後の画面だけが遅いということが起こり得ます。おかしな現象ではなく、リクエストごとに異なる経路を通った結果です。
訪問者の場所に合わせてホスティングを選ぶ基準
サイトの主な訪問者が韓国に集中しているなら、国内ホスティングは管理しやすい選択肢です。カスタマーサポートや決済、SMSの送信、国内サービスとの連携でも時間を節約できます。
読者が韓国、米国、欧州に広く分散している場合は、1か国のサーバーだけを見て判断するのは難しくなります。CDNを導入したり、複数地域にオリジンサーバーを置いたりする構成を検討する必要があります。
ECサイトや会員制サイトでは、より慎重な判断が必要です。画像ファイルはCDNで高速に表示できても、注文処理や会員情報の照会にはオリジンサーバーとデータベースへのアクセスが必要です。
私なら、まず訪問者の統計を確認します。国別の訪問者比率を見たうえで、最も利用者が多い地域から実際にページを開いてみます。
- 訪問者の大半が韓国なら、国内サーバーと韓国内の通信経路を優先して確認します。
- 訪問者が複数の大陸に分散しているなら、CDNと地域別の応答時間をあわせて確認します。
- ログインや注文が遅いなら、サーバーの場所より先にデータベースとプログラムの処理を点検します。
測定する際は、1回のテスト結果だけを信じてはいけません。深夜と夕方、スマートフォンと固定回線、韓国内と海外からのアクセスを分けて確認する必要があります。
AWSも、リージョンを選ぶ際は地図上の距離を推測せず、実際の遅延時間を測定するよう案内しています。Pingテストは参考にすぎず、実際のウェブページではDNSの名前解決や安全な接続、サーバーの処理時間などがさらに加わります。
ドメインを移転するとき、サーバーの場所より先に確認すべきこと
ホスティングを国内から海外へ、あるいは海外から国内へ移転する際に、最初に確認すべきなのは訪問者の分布です。サーバーの場所を変えれば全員の表示が速くなる、という期待はまず捨てるべきです。
ドメイン名そのものが、サーバーのある国を決めるわけではありません。DNS設定がどのサーバーアドレスを指しているかによって、実際の接続先が決まります。
移転後は、DNSが新しいサーバーを指しているか、古いキャッシュが残っていないか、CDNのオリジンアドレスが変更されているかを確認する必要があります。アドレスだけを新しいサーバーに変更し、CDNが以前のサーバーを参照したままだと、訪問者は移転前のサイトを見続けることになります。
海外サーバーへ移転する際は、タイムゾーンとバックアップの周期も確認しましょう。韓国の利用者が日中にサイトを多く利用するのに、バックアップやメンテナンスが韓国の業務時間中に実行されると、サーバーの速度よりも管理スケジュールのほうが大きな障害になります。
個人ブログであれば、韓国からの訪問者の割合と料金を比較して、シンプルに判断してもよいでしょう。海外からの訪問者が多いサイトや会員機能が複雑なサイトでは、CDN、データベースの場所、障害対応力まで含めて検討する必要があります。
私が最も危険だと感じるのは、「サーバーが近いから必ず速い」という考え方です。近いサーバーはよい出発点ではありますが、速度の成績表ではありません。
よくある質問
Q. 韓国からの訪問者が多い場合、必ず国内ホスティングを使うべきですか?
A. 必ずしもそうとは限りません。海外サーバーでもCDNを適切に構成し、サーバー処理とデータベースが高速であれば十分に利用できます。ただし、ログインや注文のようにキャッシュしにくい機能は、オリジンサーバーの場所の影響をより強く受けます。
Q. ドメインが.krなら、国内サーバーですか?
A. いいえ。
ドメインの末尾は、アドレスの種類を示しているにすぎません。実際のサーバーの場所は、DNSが指しているホスティング環境で確認する必要があります。
Q. CDNを使えば、サーバーの場所は関係なくなりますか?
A. いいえ。
キャッシュされた写真やファイルは近い場所から取得できますが、キャッシュにないデータやログイン画面では、リクエストがオリジンサーバーまで移動します。サイトが動的であるほど、オリジンサーバーとデータベースの場所が重要になります。