アプリケーション要求ルーティング処理でバイト範囲要求セグメント サイズを構成する

作成者: Won Yoo

ドキュメントのこのセクションは、IIS 7 以降向けの Microsoft アプリケーション要求ルーティング処理バージョン 2 に適用されます。

目的

アプリケーション要求ルーティング処理 (ARR) によるバイト範囲要求の処理のしくみと構成について理解する。

前提条件

これは ARR の高度な機能です。 この記事は、ユーザーが ARR の全体的な機能に慣れており、ディスク キャッシュを使用して ARR を展開および構成する方法を理解していることを前提としています。 まだ行っていない場合は、続行する前に次のチュートリアルを確認することを強くお勧めします。

アプリケーション要求ルーティング処理バージョン 2 がインストールされていない場合は、次のページからダウンロードできます。

  • IIS 7 (x86) 用 Microsoft アプリケーション要求ルーティング処理バージョン 2 (https://download.microsoft.com/download/4/D/F/4DFDA851-515F-474E-BA7A-5802B3C95101/ARRv2_setup_x86.EXE)。
  • IIS 7 (x64) 用 Microsoft アプリケーション要求ルーティング処理バージョン 2 (https://download.microsoft.com/download/3/4/1/3415F3F9-5698-44FE-A072-D4AF09728390/ARRv2_setup_x64.EXE)。

このドキュメントに記載されている手順に従って、ARR バージョン 2 をインストールします。

手順 1 - ARR のバイト範囲要求機能の概要。

キャッシュ プロキシが異なれば、バイト範囲要求の処理も異なります。 ARR では、バイト範囲要求が、"チャンク" と呼ばれる小さな断片にセグメント化されます。"チャンク" のサイズは管理者が構成できます。一層の最適化を図るために、環境内のバイト範囲要求の標準的なサイズに基づいてサイズを設定することをお勧めします。

この機能の特徴は、バイト範囲要求が ARR によってセグメントに "再マップ" されることです。 次の図に示すように、ARR はバイト範囲要求を受信すると、要求を "チャンク" に入れ、配信元サーバーに送信すべき対応する範囲を決定します (キャッシュ ノードが階層化されている場合は、次の層のサーバーに送信されます)。ARR は応答を受信すると、コンテンツを断片 ("チャンク") に格納し、ARR への元の要求に一致するように応答を書き換えます。

R R のバイト ダッシュ範囲要求機能の図。

ARR の通常の動作を通じて、最終的にすべての "チャンク" の断片が "収集" され、コンテンツ全体がキャッシュされます。

手順 2 - バイト範囲のセグメント サイズを構成する。

既定では、バイト範囲のセグメント サイズは 256 KB です。 管理者は、環境内の通常のトラフィック パターンに基づいてこの値を変更できます。

  1. IIS マネージャーを起動します。

  2. バイト範囲のセグメント サイズ設定は、サーバー レベルで管理されるグローバル設定です。 サーバーのルートを選択して展開します。

    I I S Manager ナビゲーション ツリーのスクリーンショット。A R R one スラッシュ 管理istrator オプションが強調表示されています。

  3. [アプリケーション要求ルーティング処理キャッシュ] をダブルクリックします。

  4. [操作] ウィンドウで、[Cache Configuration](キャッシュの構成) をクリックします。

    [操作] ウィンドウのスクリーンショット。[キャッシュ構成] ボタンは、[キャッシュ管理] 見出しの下にあります。

  5. [Cache Configuration](キャッシュの構成) ページで、[Byte range segment size (KB)](バイト範囲のセグメント サイズ (KB)) 入力フィールドを見つけます。

    [キャッシュ構成] ページのスクリーンショット。[バイト範囲セグメント サイズ K B] ボックスには、2506 の値が書き込まれます。[圧縮を有効にする] が選択されています。

  6. 値を変更し、[適用] をクリックします。 このチュートリアルでは、値を 1 KB に設定します。

    Note

    これはあくまでチュートリアル用の設定です。 1 KB はセグメント サイズが小さすぎるため、断片化につながる可能性があります。

手順 2 - 機能を確認する。

バイト範囲要求の作成に使用できるクライアント ツールが必要です。 また、クライアントが、送信した要求に応じて必要な応答を受信していることを確認するために、HTTP 要求をトレースしてキャプチャする必要があります。

  1. 0 から 500 の範囲でバイト範囲要求を送信します。 この例では、バイト範囲要求が /pix/IMG_1400.jpg に送信されています。

  2. Microsoft ネットワーク モニターの使用など、ネットワークを監視する手段がある場合は、0 から 500 の範囲がクライアントによって受信済みであることを確認します。

  3. キャッシュ ドライブ上の IMG_1400.jpg 格納先フォルダーを探し、「dir /a」と入力してその内容を一覧表示します。

    管理istrator コマンド プロンプト ページのスクリーンショット。

  4. 0-1023 という名前のファイルが存在することを確認します。 このファイルは、0 から 1023 の範囲 (つまり、1 つのチャンク) を表します。 0 から 500 の範囲は 0 から 1023 に "当てはまる" ため、これは期待した動作です。

  5. 同じファイルの 1500 から 3000 の範囲の別のバイト範囲要求を送信します。

    管理istrator コマンド プロンプト ページのスクリーンショット。ファイルとバイト数が一覧表示されます。 同じディレクトリを一覧表示します。 1500 から 3000 の範囲は、2 つの "チャンク" (1024-2047 と 2048-3071) に "またがる" ため、結果として別途 2 つのファイルがキャッシュされています。

  6. 最後に、同じファイルの 2500 から 4000 の範囲の別のバイト範囲要求を送信します。 同じディレクトリを一覧表示します。

    管理istrator コマンド プロンプトの SCreenshot。バイト ダッシュ範囲要求のディレクトリが一覧表示されます。

  7. この場合、1 つ目の "チャンク" (2048-3071) でキャッシュ ヒットが発生します。 ARR は、2 つ目の "チャンク" (3072- 4095) を取得する必要があると判断し、2 つ目の断片のみを求めるバイト範囲要求を配信元サーバーに送信しています。 ここでも、ネットワーク モニターを使用して、適切な範囲の要求と応答がクライアントと ARR の間、そして ARR と配信元サーバーの間で送信されていることを確認します。

まとめ

以上、ARR におけるバイト範囲要求のサポートと、セグメント サイズの構成を通じて環境内の設定を最適化する方法について見てきました。

その他の ARR バージョン 2 のチュートリアルについては、こちらの記事のドキュメントを参照してください。