次の方法で共有


アプリケーション要求ルーティング処理の展開の推奨事項

作成者: Won Yoo

このドキュメント セクションは、IIS 7 以降向けの Microsoft アプリケーション要求ルーティング処理バージョン 2 を対象としています。

目的

アプリケーション要求ルーティング処理 (ARR) の展開に関する推奨事項と概要を紹介します。
一般的なチュートリアル記事というよりも ARR バージョン 2 を展開する際のベスト プラクティスをまとめた内容となっています。

前提条件

この記事は、ユーザーが 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 - アプリケーション プールのアイドル タイムアウトを無効にする。

アプリケーション プールのアイドル タイムアウトは、アクティブ状態でないアプリケーション プールをシャットダウンする IIS 機能です。 既定では、期間が 20 分に設定されます。この期間は、次のことを表します。

ワーカー プロセスのシャットダウンが始まるまでのアイドル状態の時間 (分単位)。 ワーカー プロセスが要求を処理せず、かつ、新しい要求も受信していない場合に、ワーカー プロセスはアイドル状態と見なされます。

IIS でのこの機能の目的は、アプリケーション プールがアイドル状態の場合に、アプリケーション プールに使用されているリソースの用途を変更し、再利用することです。 IIS サーバーが複数のサイトとアプリケーションのホストになっていて、サイトとアプリケーション間でリソースを共有するように構成されている場合に有益な機能を果たします。

一般的な ARR 展開シナリオでは、これは当てはまりません。実際には、ARR のアプリケーション プールを常時実行する必要があります。

アプリケーション プールのアイドル タイムアウトを無効にする手順については、「アプリケーション要求ルーティング処理バージョン 2 をインストールする」の記事を参照してください。

手順 2 - アプリケーション プールのリサイクル条件を無効にする。

アプリケーション プールのリサイクルは、アプリケーション プールを定期的にリサイクルする IIS 機能です。 アプリケーション プール (エンド ユーザーがアプリケーションを直接展開することになる共有ホスティング環境) で実行されるアプリケーションに十分な信頼性がなく、また、アプリケーション プールを再起動することがアプリケーションの機能と安定性向上に寄与すると考えられる場合にこの機能の利便性が発揮されます (たとえば、アプリケーションのメモリ リークが徐々に進行する場合があります。アプリケーションを無期限に実行するのではなく、アプリケーションを定期的にリサイクルすることで、コードの欠陥を軽減することができます)。

もちろん、ARR が常時利用可能である (そして常に機敏に反応する) ことが期待されるような ARR のユース ケースには適しません。

アプリケーション プールのリサイクル条件を無効にする手順については、「アプリケーション要求ルーティング処理バージョン 2 をインストールする」の記事を参照してください。

手順 3 - キャッシュ ドライブの場所をシステム ドライブから分離する。

ARR はキャッシュ ドライブの場所としてフォルダーをサポートしていますが、キャッシュ ドライブの場所はシステム ドライブから分離することを強くお勧めします。 これは、キャッシュされたコンテンツの数が何百万ものオブジェクト (場合によっては数十億ものオブジェクト) にまで増加して、それらを管理する I/O 操作のコストが大きくなる可能性があるためです。 「キャッシュされたオブジェクトを削除する」の記事で説明されているように、プライマリ キャッシュ ドライブのすべての場所から、キャッシュ済みのオブジェクトをすべて削除するには時間がかかり、ドライブのクイック フォーマットを実行した方が早い場合があります。 当然、そのためには、キャッシュ ドライブの場所をシステム ドライブから分離する必要があります。

最適なパフォーマンスを得るために、キャッシュ ドライブの場所は、システム ドライブとは物理的に異なるドライブにすることをお勧めします。 また、パフォーマンスを向上させるために、キャッシュ ドライブの場所は高 RPM ドライブ (15K RPM) にすることをお勧めします。 物理ドライブが 1 つしかない場合でも、システム ドライブとキャッシュ ドライブを分けることをお勧めします。 サーバー マネージャー[ディスクの管理] を使用して、同じ物理ドライブを複数のボリュームにパーティション分割できます。

手順 4 - 8.3 名の作成を無効にする。

NTFS パーティション上の長いファイル名とディレクトリすべてに対して 8.3 ファイル名とディレクトリを作成すると、ディレクトリ列挙のパフォーマンスが低下する可能性があります。 ARR のキャッシュ機能はディスク ドライブを酷使するため、8.3 名の作成は無効にすることをお勧めします。

Windows Server 2008 では、サーバー全体に対してのみ 8.3 名の作成を無効できます。 具体的には、ボリュームごとに構成することはできません。

Windows Server 2008 R2 では、ボリュームごとにこの設定を構成できます。

NTFS での 8.3 名の作成について詳しくは、KB121007 に関する記事を参照してください。 コマンド プロンプトで「fsutil.exe behavior set disable8dot3 1」と入力し、Enter キーを押すと、8.3 名の作成を簡単に無効にできます。