ウェブ上にはサイト高速化に関する記事が数多くありますが、その多くはフロントエンドの最適化や手軽に実践できる高速化テクニックに焦点を当てています。一方で、ネットワークレイテンシのようなサーバー側の最適化は、見落とされがちです。

そこで今回は、ネットワークレイテンシの重要性と、異なる地域からアクセスした際にWordPressサイトのパフォーマンスへどのような影響を与えるのかを詳しく見ていきます。

CDNを利用すればネットワークレイテンシを軽減できますが、サーバーの設置場所も依然として重要な要素です。特に、特定の地域のユーザーを主な対象とするサイトでは、その影響はより大きくなります。以下では、レイテンシが重要である理由をいくつかご紹介します。

ネットワークレイテンシとは?

レイテンシとは、ネットワーク上でのデータの送信にかかる時間およびその遅延のことです。言い換えると、データのパケットがある地点から別の地点に移動する時間です。今日ではミリ秒単位で測定されますが、ネットワークによっては数秒かかる場合もあります。ゼロに近いほど良い値です。

レイテンシは、地理的な距離だけでなく、さまざまな通信機器を通過する信号を待機する時間(Whatis.com

言い換えれば、距離が遠いほどレイテンシは長くなり、遅延が大きくなります。データを光ファイバケーブル上送信する際に光速に勝るものはありません。たとえば、以下はGoogle Cloudネットワークの地図です。Google Cloudが地球全体に広がる何千マイルの海底ケーブルを持っていることはこのネットワークは世界最速のネットワークの一つである理由の一つです。ただし、このような最先端のネットワークであっても、レイテンシが発生します。

MyKinstaでのHTTPSの有効化
MyKinstaでのHTTPSの有効化

ネットワークレイテンシには、次のような要因があります。

  • 伝送遅延:ワイヤレス接続や光ファイバー接続などのさまざまなメディアには送信速度の限界があるため、必ず多少の遅延が発生します。たとえば、光ファイバー接続の伝送遅延はT1回線よりも低いです。パケットのサイズも考慮する必要があります。
  • 伝播遅延:データのパケットが移動するのにかかる時間のことです。これには、距離、ネットワークレイテンシなどが含まれます。
  • キューイング遅延:帯域幅を超えると、データがホストまたはルーターで待機するキューイング遅延が発生する場合があります。ネットワークの混雑の影響を受ける可能性があります。

ネットワークレイテンシが重要である理由

ネットワークレイテンシはそれほど重要ではないと考える人もいます。しかし、サイトをどこでホストするかを決める際には、無視できない要素です。

画像やJavaScript、CSS、動画などの静的アセットについては、CDNを利用することで、ユーザーに近いサーバーから配信し、レイテンシの影響を大幅に軽減できます。

しかし、多くの構成では、ページの初回読み込み時にサーバーへリクエストを送信する必要があります。このときに発生する遅延はCDNだけでは解消できません。だからこそ、ネットワークレイテンシが重要になります。

Trainlineは購入プロセス全体のレイテンシを0.3秒短縮した結果、年間800万ポンド(約16億円)の売上増加を実現(WPO Stats

ネットワークレイテンシは、特定の地域のユーザーを主な対象とするビジネスにとって特に重要です。

例えば、シドニーに拠点を置くECサイトがあり、その顧客の90%がオーストラリア国内にいるとします。この場合、サイトをヨーロッパや米国のサーバーでホストするよりも、オーストラリア国内のサーバーで運用した方が明らかに有利です。

サーバーロケーションがサイトのパフォーマンスにどれほど影響するのか、以下で詳しく見ていきましょう。

クラウドネットワークのレイテンシを比較

レイテンシ(通信の遅延)は、主に物理的な距離によって左右されます。ただし、距離だけが要因ではありません。通信経路上のルーターの数や経由するネットワーク機器(ホップ数)なども、レイテンシに影響を与えます。

ネットワークレイテンシを測定する方法には、Ping、Traceroute、MTRなどがあります。今回は、Ping値の測定とTracerouteテストを実施しました。より詳細なデータを分析したい場合は、Tracerouteコマンドを使用するとよいでしょう。

テストでは、以下の地域に配置したクラウドプラットフォーム上の検証用サーバーを使用しました。

  • perf1.kinsta.com(場所:米国のアイオワ州)
  • perf2.kinsta.com(場所:オーストラリアのシドニー)
  • perf3.kinsta.com(場所:ドイツのフランクフルト)

測定には、14箇所のロケーションから同時にテストできるKeyCDNの無料ツール「Ping Test」を利用しました。Ping値は低いほど優れており、データがインターネット経由で送信先に到達し、再び戻ってくるまでに要する時間(ミリ秒)を表します。また、通信経路を確認するために、KeyCDNのTracerouteツールも使用しました。

Perf1(米国のアイオワ州)

米国アイオワ州にあるテストサーバーの場合、米国内の場所からのping時間ははるかに短くなっています(ダラスへの平均ping時間は16ミリ秒)。ヨーロッパまたはシンガポールなどに移動すると、平均ping時間がはるかに長くなります(シンガポールへの平均ping時間は244ミリ秒)。

Perf1のping時間(米国)
Perf1のping時間(米国)

また、Tracerouteを比較すると、米国のアイオワ州からドイツのフランクフルトまで移動するために必要なネットワークホップ数が7つ増えたことがわかります(ダラスまでの10点のホップ数と比較して)。ネットワークホップの数もネットワークレイテンシに影響を与えることを覚えておくことが重要です。

Perf1のTraceroute(米国)
Perf1のTraceroute(米国)

Perf2(オーストラリアのシドニー)

オーストラリアのシドニーにあるテストサーバーの場合、オーストラリアやアジア太平洋の場所からのping時間ははるかに短くなっています(シドニーへの平均ping時間は1ミリ秒)。ヨーロッパまたは南米などに移動すると、平均ping時間がはるかに長くなります(サンパウロへの平均ping時間は319ミリ秒)。

Perf2のping時間(オーストラリア)
Perf2のping時間(オーストラリア)

また、Tracerouteを比較すると、オーストラリアのシドニーからドイツのフランクフルトまで移動するために必要なネットワークホップ数が14つ増えたことがわかります。

Perf2のTraceroute(オーストラリア)
Perf2のTraceroute(オーストラリア)

Perf3(ドイツのフランクフルト)

ドイツのフランクフルトにあるテストサーバーの場合、ヨーロッパと(おそらくヨーロッパとアメリカの間の高速なバックボーン接続のおかげで)米国の場所からのping時間ははるかに短くなっています(アムステルダムへの平均ping時間は7ミリ秒)。アジア太平洋または南米などに移動すると、平均ping時間がはるかに長くなります(シンガポールへの平均ping時間は308ミリ秒)。

Perf3のping時間(ドイツ)
Perf3のping時間(ドイツ)

また、Tracerouteを比較すると、ドイツのフランクフルトからブラジルのサンパウロまで移動するために必要なネットワークホップ数が11つ増えたことがわかります。

Perf3のTraceroute(ドイツ)
Perf3のTraceroute(ドイツ)

上記からわかるように、距離が大きくなるほど、ping時間が長くなり、ネットワークのホップ数が増えます(ネットワークレイテンシが高くなります)。これが、サイトの場所を戦略的に決めて、上記の要素を両方減らす必要がある理由です。

ページ読み込み時間の比較

もちろん、ページ読み込み時間は今回省略します。本来だと、これが最も興味深いデータです。ただし、TTFBなどの他の要素の影響も受けるデータであることにご注意ください。3つのテストサイトはすべて同じで、WordPressの新規インストールを実行し、Twenty Seventeen テーマがインストールされています。また、Pingdomを使用しているため、時間はテストサーバーの場所から測定されています。

Perf1(米国のアイオワ州)

米国のアイオワ州にあるサーバーを使用して3カ所のテストロケーションからスピードテストを実行しました。結果は以下のとおりです。

スピードテストperf1ダラス
スピードテスト Perf1 ダラス
スピードテスト Perf1 メルボルン
スピードテスト Perf1 オーストラリア
スピードテスト Perf1 ストックホルム
スピードテスト Perf1 ストックホルム

上記からわかるように、米国内(ホスティングサーバーの近く)からのサイトの読み込み時間と、世界各地からの読み込み時間には大きな違いがあります。

Perf2(オーストラリアのシドニー)

オーストラリアのシドニーにあるサーバーを使用して3カ所のテストロケーションからスピードテストを実行しました。結果は以下のとおりです。

スピードテストperf2ダラス
スピードテスト Perf2 ダラス
スピードテスト Perf2 メルボルン
スピードテスト Perf2 メルボルン
スピードテスト Perf2 ストックホルム
スピードテスト Perf2 ストックホルム

上記からわかるように、オーストラリア(ホスティングサーバーの近く)からのサイトの読み込み時間と、世界各地からの読み込み時間には大きな違いがあります。

Perf3(ドイツのフランクフルト)

ドイツのフランクフルトにあるサーバーを使用して3カ所のテストロケーションからスピードテストを実行しました。結果は以下のとおりです。

スピードテストperf3ダラス
スピードテスト Perf3 ダラス
スピードテスト Perf3 メルボルン
スピードテスト Perf3 メルボルン
スピードテスト Perf3 ストックホルム
スピードテスト Perf3 ストックホルム

上記の結果から、ホスティングサーバーに近い地域と遠い地域では、サイトの読み込み速度に大きな差が生じることがわかります。

例えば、米国アイオワ州に設置したテストサイトは、同じ米国内のダラスからアクセスした場合の読み込み時間がわずか368ミリ秒でした。一方で、オーストラリアのシドニーからアクセスすると、読み込みに2.14秒かかりました。これは、サーバーの設置場所がパフォーマンスに大きく影響することを示しています。

もちろん、CDNを利用して画像やCSS、JavaScriptなどの静的アセットを訪問者の近くから配信することで、読み込み時間を短縮することは可能です。Kinstaでは、すべてのお客様にCDNをご利用いただけます。ただし、リクエストは最終的にホストサーバーとも通信する必要があるため、サーバーのロケーション選びも依然として重要です。

WordPressサイトに最適なサーバーロケーションを選ぶ

多くのサーバーでは、サイトをホストするサーバーのロケーションを選択できます。Kinstaでは現在、東京と大阪を含む、世界27箇所のデータセンターから選択可能です。

サイトのターゲットユーザーに近いロケーションを選ぶことで、レイテンシやTTFB(Time to First Byte)を低減し、より高速な読み込みを実現できます。また、サイトごとに異なるロケーションを選択することも可能です。

どのロケーションを選べばよいかわからない場合は、以下のポイントを参考にしてください。

1. Google アナリティクスを確認する

最初にできることは、Google アナリティクスでサイトの訪問者のいる場所を確認することです。下記のこの例では、トラフィックの90%以上がアメリカ合衆国からのトラフィックです。したがって、ウェブサイトもアメリカ合衆国にあるサーバーに配置すればよいでしょう。市区町村レベルまで絞り込むこともできますが、「米国のアイオワ州」などのあまり細かくないロケーションをお勧めします。

Google Analyticsの地域データ
Google Analyticsの地域データ

2. ECデータを確認する

ECサイトを運営している方は、お客様の住んでいる地域も是非確認してください。お客様は収入を生み出す訪問者である為、最も重要な訪問者です。通常は上記のトラフィックと一致するはずですが、必ずしもそうではありません。Google アナリティクスにECの目的設定がある方は、その情報を上記の地域の情報と比較し、詳細な情報を得た上での決断ができます。

3. 簡単なレイテンシテストを実施する

各クラウドサービスが現在地からのレイテンシを確認できるの便利で無料のツールを用意しています。サイト用の最も適切な地域を素早く特定できます。

  • GCP Ping(Google Cloudのリージョンへのレイテンシの確認)
  • CloudPing.info(AWSのリージョンへのレイテンシの確認)
  • Azure Latency Test(Azureのリージョンへのレイテンシの確認)
Google Cloudのレイテンシを確認する
Google Cloudのレイテンシを確認する

クラウドサービスの性能比較ツールであるCloudHarmonyを利用することもできます。レイテンシ、DNS、アップリンク、ダウンリンクなどをテストできます。

loudHarmonyのネットワークテスト
CloudHarmonyのネットワークテスト

ネットワークレイテンシを短縮する簡単な対策

ネットワークレイテンシを短縮するには、以下のような対処が効果的です。

  • まずはサイトを訪問者のいる場所に近いサーバーに配置すること。これによりping時間とネットワークのホップ数が削減される。
  • コンテンツデリバリネットワーク(CDN)を利用し、世界中のPOPからキャッシュされたアセットを配信する。これにより、ホストサーバーの近くにいない訪問者のネットワークレイテンシが短縮される(WordPressサイトでKinsta CDNを使用する手順はこちら)。
  • HTTP/2プロトコルを利用する。 HTTP/2では並列通信が可能なため、ラウンドトリップの回数を削減できる。KinstaのすべてのサーバーでHTTP/2が有効になっており、利用条件はサイトがHTTPSを使用していることのみ。
  • 外部HTTPリクエストの数を減らす。外部サービスへのリクエストは、それぞれのサーバーロケーションに応じたレイテンシが発生する可能性がある。
  • 検索時間が短いDNSサービスを利用する。
  • 事前読み込み機能を活用する。 ページの表示中に、次に必要になるリソースやページをバックグラウンドで読み込むことで、体感速度を向上できる。
  • WordPressサイト高速化ガイドで紹介している高度な最適化テクニックを実践する。

まとめ

本記事では、ネットワークレイテンシとは何か、なぜ重要なのか、そしてWordPressサイトのパフォーマンスにどのような影響を与えるのかを見てきました。

サイトの表示速度を最適化するには、訪問者や顧客にできるだけ近いロケーションのサーバーを選ぶことが重要です。CDNを活用することでパフォーマンスをさらに向上させることもできますが、サーバーの設置場所は依然として大きな役割を果たします。

Brian Jackson

Brianの最大の情熱の一つは10年以上使用してきたWordPressです。複数のプレミアムプラグインさえ開発しています。Brianの趣味はブログや映画やハイキングなどです。TwitterでBrianとつながりましょう。