Azure Front Door に関する一般的なパフォーマンスの問題のトラブルシューティング
パフォーマンスの問題は、Azure Front Door サービス、配信元、要求元クライアント、またはこれらのホップ間のパスなど、いくつかの潜在的な領域で発生する可能性があります。 このトラブルシューティング ガイドでは、問題の根源である可能性が最も高いデータパス上のホップ、および問題の解決方法を特定できるようにします。
既知の問題を調べる
開始する前に、次のような既知の問題を確認します。
- Azure Front Door プラットフォーム。
- パス内のインターネット サービス プロバイダー (ISP)。
- データ接続して取得する要求元クライアントの機能。
シナリオ 1: 配信元を調査する
配信元サーバーのいずれかが遅い場合、Azure Front Door を介したオブジェクトに対する最初の要求が遅くなります。 さらに、コンテンツが Azure Front Door のプレゼンス ポイント (POP) でキャッシュされていない場合、要求は配信元に転送されます。 配信元から送られる場合、POP の近接性と要求元クライアントへのローカル配信という利点が打ち消され、代わりに配信元のパフォーマンスに依存するようになります。
シナリオ 1: 必要な環境情報
- Azure Front Door エンドポイント名
- エンドポイント ホストの名前
- エンドポイント カスタム ドメイン (該当する場合)
- 配信元のホスト名
- 影響を受けるファイルの完全な URL
シナリオ 1: トラブルシューティング手順
影響を受ける要求からの応答ヘッダーを確認します。
応答ヘッダーを確認するには、Bash で次の
curl
例を使用します。 F12 キーを選択して、ブラウザーの開発者ツールを使用することもできます。 [ネットワーク] タブを選択し、調査する関連ファイルを選択して、[ヘッダー] タブを選択します。ファイルがない場合は、開発者ツールを開いてページを再読み込みします。最初の応答では、
x-cache
ヘッダーの値はTCP_MISS
またはCONFIG_NOCACHE
になっているはずです。 Azure Front Door POP は、この値を持つ要求を配信元に転送します。 配信元は、同じパスのリターン トラフィックを要求元のクライアントに送信します。これを示す例は次のとおりです
TCP_MISS
:$ curl -I https://www.contoso.com/styles.css HTTP/2 200 date: Wed, 28 Aug 2024 17:02:09 GMT content-type: text/css content-length: 2837 last-modified: Thu, 09 May 2024 20:49:36 GMT etag: "b15-6180b8e9bd897" vary: Accept-Encoding x-azure-ref: 20240828T170209Z-AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00 x-fd-int-roxy-purgeid: 0 x-cache: TCP_MISS accept-ranges: bytes
これを示す例は次のとおりです
TCP_HIT
:curl -I https://www.contoso.com/styles.css HTTP/2 200 date: Wed, 28 Aug 2024 17:04:38 GMT content-type: text/css content-length: 2837 last-modified: Thu, 09 May 2024 20:49:36 GMT etag: "b15-6180b8e9bd897" vary: Accept-Encoding x-azure-ref: 20240828T170438Z-BB22CC33DD44EE55FF66AA77BB88CC99DD00EE11 x-fd-int-roxy-purgeid: 0 x-cache: TCP_HIT x-cache-info: L1_T2 accept-ranges: bytes
x-cache
ヘッダーにTCP_HIT
値が設定されるまで、エンドポイントに対する要求を続けます。最初に
CONFIG_NOCACHE
が表示された場合は、ルート構成でキャッシュが有効になっていません。 この場合、TCP_HIT
は表示されません。パフォーマンスの問題が解決された場合、問題は Azure Front Door のパフォーマンスではなく、配信元の速度に基づいていたことになります。 所有者は、パフォーマンスを向上させるために、Azure Front Door のキャッシュ設定または配信元に対処する必要があります。
問題が解決しない場合、ソースはコンテンツまたは Azure Front Door サービスを要求しているクライアントである可能性があります。 原因を特定するにはシナリオ 2 に移動します。
シナリオ 2: 単一のクライアントまたは場所 (ISP など) の速度が遅い
単一のクライアントまたは場所では、要求元クライアントと Azure Front Door POP の間に不適切なネットワーク ルートがある場合に速度が低下する可能性があります。 不正なルートは POP までの距離に影響し、Azure Front Door POP の近接性の利点が失われるため、そのルートを除外する必要があります。
仮想プライベート ネットワーク (VPN) を使用している場合、または分散した企業ネットワークの一部である場合、待機時間が長いか帯域幅が狭いのは、ISP の問題が原因である可能性があります。 企業ネットワークでは、すべてのトラフィックを中央のリモート ポイント経由で実行できます。
シナリオ 2: 必要な環境情報
- Azure Front Door エンドポイント名
- エンドポイント ホストの名前
- エンドポイント カスタム ドメイン (該当する場合)
- 配信元のホスト名
- 影響を受けるファイルの完全な URL
- 要求元クライアントの情報
シナリオ 2: トラブルシューティング手順
POP へのパスを確認する場合、pathping や 500 パケットの同様のツールを使用してネットワーク ルートを確認します。
パス指定には、最大 250 個のクエリがあります。 500 をテストするには、次のクエリを 2 回実行します。
pathping /q 250 <Full URL of Affected File>
トラフィックが時間のかかる経路をたどっていないか、または遠くのリージョンに移動しているかどうかを判断します。
地理に基づいて適切なルートをたどっていない (たとえば、ヨーロッパのトラフィックが米国にルーティングされているなど)、またはホップ数が過剰な IP、都市、または地域コードを探します。
クライアント設定の要求を除外するには、同じリージョン内の別の要求クライアントからテストします。
追加のホップまたはリモート リージョンを特定した場合、問題は Azure Front Door サービス自体ではなく、Azure Front Door POP にアクセスするクライアントにあります。 接続または VPN プロバイダーは、エンドポイント間のホップに対処する必要があります。
追加のホップまたはリモート リージョンを特定せず、コンテンツがキャッシュ (
x-cache: TCP_HIT
) から提供されている場合、問題は Azure Front Door サービスにあります。 サポート要求の作成が必要になる場合があります。 このトラブルシューティング記事への参照と実行した手順を含めてください。
Note
コンテンツが配信元 (x-cache: TCP_MISS
) から提供されている場合は、この記事の前半のシナリオ 1 を参照してください。
シナリオ 3: Web サイトの読み込みが遅い
単一のファイルには問題ないのですが、全体的な (プロキシ処理された Azure Front Door) Web ページのパフォーマンスが不十分であるというシナリオがいくつか存在します。 Web ページ パフォーマンス ツールは、Azure Front Door の外部の Web ページと比較して、サイトのパフォーマンスが低いことを示します。
多くの場合、Web ページは多数のファイルで構成されます。 Web サイトは、Azure Front Door が Web ページ上の各ファイルを提供している場合にのみ、Azure Front Door のメリットを受けます。 メリットを最大限に活用するには、Azure Front Door を構成する必要があります。
次に例を示します。
- 配信元:
origin.contoso.com
- Azure Front Door カスタム ドメイン:
contoso.com
- 読み込もうとしているページ:
https://contoso.com
ページが読み込まれると、「/」ディレクトリにある最初のファイルが他のファイルを呼び出し、ページを構築します。 これらのファイルは、画像、JavaScript、テキスト ファイルなどです。 これらのファイルが Azure Front Door ホスト名 (contoso.com
) を介して呼び出されない場合、ページは Azure Front Door を使用していません。 したがって、Web サイトが要求するファイルの 1 つが http://www.images.fabrikam.com/businessimage.jpg
の場合、そのファイルは Azure Front Door の使用による恩恵を受けていません。 代わりに、要求側クライアントのブラウザーは、images.fabrikam.com
サーバーから直接ファイルを要求します。
シナリオ 3: 必要な環境情報
- Azure Front Door エンドポイント名
- エンドポイント ホストの名前
- エンドポイント カスタム ドメイン (該当する場合)
- 配信元のホスト名
- 配信元の地理的な場所
- 影響を受ける Web ページの完全な URL
- パフォーマンスを測定するツールとメトリック
シナリオ 3: トラブルシューティング
パフォーマンスの低下を示すメトリックを確認します。
重要
Microsoft は、所有していないツールで測定されている内容を識別できません。
ブラウザーで Azure Front Door Web ページを開き、F12 キーを押して開発者ツールを開きます。
ブラウザーの開発者ツールを使用して、提供されるファイルのソースを特定できます。 開発者ツールで要求 URL を表示するには、[ネットワーク] タブを選択し、調査中のファイルを選択して、[全般] を選択します。 ファイルがない場合は、開発者ツールを開いてページを再読み込みします。
ファイルのソースまたは要求 URL をメモします。
Azure Front Door ホスト名を使用しているファイルと、使用されていないファイルを特定します。
前の例では、Azure Front Door でホストされているイメージは
https://www.contoso.com/productimage1.jpg
です。 Azure Front Door でホストされていないイメージは、http://www.images.fabrikam.com/businessimage.jpg
のようになります。Azure Front Door が提供しているファイルのパフォーマンス、その配信元、テスト Web ページ (該当する場合) をテストします。
配信元またはテスト Web ページが、パフォーマンスをテストしているツールに近い地理的リージョンから提供されている場合は、別のリージョンにあるツールまたは要求側クライアントを使用して、Azure Front Door POP の近接性のメリットを調べることが必要になる場合があります。
重要
Azure Front Door ホスト名の外部から提供されるファイルでは、その利点を受けられません。 これを行うには、Web ページの再設計が必要になる場合があります。
ファイルがキャッシュされることを意図している場合は、応答ヘッダーを持つファイルを必ずテストしてください
x-cache: TCP_HIT
。収集したデータに基づいてアクションを実行します。
収集されたデータから、Azure Front Door のホスト名以外のサーバーからファイルが発行されていることが示されている場合、Azure Front Door は期待どおりに動作しています。
Web サイトの読み込みが遅い場合は、Web ページのデザインを変更する必要があります。 Azure Front Door を使用するように Web サイトを最適化するためのサポートが必要な場合は、Web サイト設計チームまたは Microsoft ソリューション プロバイダーに問い合わせてください。
Note
Web サイトの読み込みに時間がかかる問題については、Web サイトの設計の複雑さとそのファイル呼び出し手順に基づいて、確認に時間を要する場合があります。
収集されたデータで、配信元またはテスト サイトと比較して、Azure Front Door でのファイルの読み込みパフォーマンスが向上していることを示す場合、Azure Front Door は期待どおりに動作しています。 問題の原因は、個々のクライアント要求である可能性があります。 その場合は、この記事の前半の「シナリオ 1」を参照してください。
収集されたデータから、Azure Front Door のパフォーマンスが向上していないことが示されている場合は、さらなる調査のためにサポート要求を提出する必要がある可能性があります。 このトラブルシューティング記事への参照と実行した手順を含めてください。