Web アプリケーションのパフォーマンスが低下しを実行している IIS 5.0 Web ファームに Web サーバーがネットワーク負荷分散を使用して追加した後、ネットワークの帯域幅が増える可能性があります。

サポートが終了した KB の内容についての免責事項

この記事は、マイクロソフトがサポートを提供しなくなった製品について記述しています。 したがって、この記事は「現状のまま」で提供され、更新されることはありません。

現象

以下の事例で説明します。ネットワーク負荷分散を使用する Web ファームに Web サーバーを追加するとします。クライアントの Web ブラウザーは、Web ファーム内の Web サーバーに要求を送信します。この Web サーバーで Microsoft インターネット インフォメーション サービス (IIS) 5.0 を実行しています。このシナリオでは、Web アプリケーションのパフォーマンスが低下する可能性があります、およびネットワーク帯域幅が増える可能性があります。

この問題は、負荷分散メカニズムの背後にある Web ファーム内の Web サーバーが構成されている場合に発生します。Microsoft ネットワーク負荷分散とサードパーティ製のネットワーク ロード バランサーは、負荷分散メカニズムの例を示します。

この問題は、要求が IIS 5.0 を実行している Web サーバーに到達する前にプロキシ サーバーを介してクライアントの Web ブラウザーから送信された要求が送信された場合は、最悪になる可能性があります。

原因

クライアントの Web ブラウザーから送信される HTTP 要求の情報には、ETag 値が含まれています。この問題は、要求内の ETag 値が IIS 5.0 を実行している Web サーバーで要求されたリソースの ETag 値と一致しないために発生します。要求を最初にプロキシ サーバーを介して送信する場合は、要求内の ETag 値がプロキシ サーバーのローカル キャッシュに要求されたリソースの ETag 値と一致しないためにこの問題が発生します。

要求内の ETag 値が要求されたリソースの ETag 値を一致しない場合、IIS 5.0 は、クライアントの Web ブラウザーに要求されたリソースの新しいバージョンを送信する必要があります。IIS 5.0 は、プロキシ サーバーのローカル キャッシュから、またはクライアントの Web ブラウザーのローカル キャッシュから要求されたリソースを送信する代わりにします。要求されたリソースをローカル キャッシュから送信する場合、結果は要求されたリソースは、IIS 5.0 を実行している Web サーバーから送信される場合よりも高速のユーザーに表示されます。

このパフォーマンス上の問題は、次の項目によって増えることがあります。
  • 使用する Web ファーム内の Web サーバーの数はネットワーク負荷分散
  • 要求されたコンテンツの量に既に存在するクライアントの Web ブラウザーのローカル キャッシュ

解決策

この問題を解決するには、Web ファーム内で IIS 5.0 を実行しているすべての Web サーバー上の ETag の値を同期します。これを行うには、いずれかの Web サーバーから、ETag の値を取得するために Mdutil.exe ツールを使用します。次に、他のすべての Web サーバーに同じ ETag の値を設定します。

既定では、Mdutil.exe ツールは Microsoft Windows 2000 と共にインストールされます。Mdutil.exe ツールは、Windows 2000 CD の I386 フォルダー内にあります。ファイルの名前は Mdutil.ex_ です。Mdutil.exe ツールを使用する前に、Mdutil.ex_ ファイルを展開する必要があります。これを行うには、以下の手順を実行します。
  1. Windows 2000 の CD を含む CD ドライブの I386 フォルダーを参照します。
  2. Expand.exe ファイルと Mdutil.ex_ ファイルを探します。
  3. [スタート] をクリックし、[ファイル名を指定して実行] をクリックして、 cmd と入力し、[OK] をクリックします。
  4. コマンド プロンプトで次のコマンドを入力し、ENTER キーを押します。
    Expand.exe R Mdutil.ex_ c:\出力
    このコマンドは、圧縮された Mdutil.ex_ ファイルを展開し、C:\ の出力フォルダーに Mdutil.exe ファイルをコピーします。

    注: このコマンドの出力は、Mdutil.exe ファイルのコピー先フォルダーの名前のプレース ホルダーです。
いずれかの Web サーバーから、ETag の値を取得し、他のすべての Web サーバーに同じ ETag の値を設定するのには、次の手順を実行します。
  1. [スタート] をクリックし、[ファイル名を指定して実行] をクリックして、 cmd と入力し、[OK] をクリックします。
  2. コマンド プロンプトで次のコマンドを入力し、ENTER キーを押します。
    cd出力
  3. Web サーバーの 1 つのコマンド プロンプトでは、次のコマンドを入力し、ENTER キーを押します。
    W3svc を取得する Mdutil.exe-2039 のプロペラ
    このコマンドは、Web サーバーから、ETag の値を取得します。
  4. 他のすべての Web サーバー上のコマンド プロンプトで次のコマンドを入力し、ENTER キーを押します。
    Mdutil.exe w3svc を設定する-2039 のプロパティ: 値の"entitytagvalue"
    注: このコマンドで、 entitytagvalueは手順 3 で取得した、ETag の値のプレース ホルダーです。

    他のすべての Web サーバーに同じ ETag の値を設定します。
  5. すべての Web サーバー Web ファーム内で IIS 5.0 を実行している、上には、IIS 5.0 を再起動します。
注: Mdutil.exe ツールは、サポートされているツールではありませんしは文書化します。ヘルプが必要な場合、Mdutil.exe ツールを使用して、入力
コマンド プロンプトのmdutil.exe

状況

マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。

詳細

エンティティ タグ (ETag の値) が 2 つの比較に使用されるか、要求されたリソースを複数のエンティティから同じです。ETag 値は、2 つの部分、ファイルのタイムスタンプ、および変更の数です。ETag 値は、次の形式で表示されます。
filetimestamp:changenumber
Microsoft Internet Explorer は、Web サーバーに HTTP GET 要求を送信するとき、HTTP GET 要求には、[なし]-If-match ヘッダーが以下のような ETag の値を持つが含まれています。
HTTP: If-None-Match ="0222d5bffcbc41:301a"
IIS 5.0 では、ETag の値をわずかに異なる可能性がある HTTP 200 OK 応答を送信します。この ETag 値は、次のようになります。
HTTP: ETag ="0222d5bffcbc41:3246"
ファイルのタイムスタンプは、要求と応答で同じです。したがって、IIS 5.0 を実行している Web サーバーは、要求されたリソースの現在の値として要求を評価します。ただし、変更番号は、異なります。したがって、IIS 5.0 を実行している Web サーバーは、ファイルのキャッシュされたコピーを送信するための命令の Internet Explorer のファイルを現在のバージョンを送信します。この現象は、IIS 5.0 は、HTTP 200 OK 応答と 304 変更されない応答しないを送信するために発生します。

プロキシ サーバーと同様の動作も可能性があります。プロキシ サーバーは、変更番号が異なることを認識します。さらに、プロキシ サーバーは、プロキシ サーバーがローカル キャッシュ内にないリソースとして要求を評価します。

関連情報

詳細については、次の文書番号をクリックして、マイクロソフト サポート技術情報の資料をご参照ください。

922703 Internet Explorer 6 を使用して、インターネット インフォメーション サービス 6.0 でホストされている Web アプリケーションにアクセスしようと、Web パフォーマンスの低下を発生ことがあります。

プロパティ

文書番号:922733 - 最終更新日: 2017/02/02 - リビジョン: 1

フィードバック