web-dev-qa-db-ja.com

IISにアプリケーションプールを追加するのはなぜですか?

Windows Server2003でIIS 6.0でホストされている複数のWebサイトがあります。それらの一部は.Net1.1フレームワークを使用し、その他は.Net 2.0を使用しています。現在、フレームワークごとにアプリケーションプールを設定しています。アプリケーションプールを追加する理由は他にありますか?

13
Jonathon Watney

はい、多く:

  • AppPoolsは異なるIDとして実行できるため、この方法で権限を制限できます。
  • 各アプリプールに異なるIDを割り当てることができるため、タスクマネージャーを実行するときに、どのw3wp.exeがどれであるかがわかります。
  • 異なるアプリプールで実行されているサイトに影響を与えることなく、1つのアプリプールをリサイクル/再起動できます。
  • メモリリークがある、または一般的に誤動作するWebサイトがある場合は、他のWebサイトに影響を与えないようにアプリプールに配置できます。
  • CPUを大量に消費するWebサイト(写真のサイズ変更など)がある場合は、それを独自のアプリプールに配置して、CPU使用率を抑えることができます。
  • それぞれが独自のSQLデータベースを持つ複数のWebサイトがある場合は、web.configにユーザー名/パスワードを保存する代わりにActiveDirectory認証を使用できます。
24
Portman

IISアプリケーションプールを作成し、次の側面で個別のアプリを作成します。

  • ミッションクリティカルなアプリ独自のアプリプールを取得する:このようにして、問題のあるアプリケーションからアプリを隔離できます。これにより、個別の構成が可能になり、問題が発生した場合に、より簡単に監視またはトラブルシューティングを行うことができます。
  • タイプによるアプリの分離:言語/テクノロジーまたは.NETFrameworkバージョンによるプーリング。同じプールでASP.NETとクラシックASPを混在させることができますが、ASPとASP.NETの両方が同じプールにある場合、 ASPアプリケーションでワーカープロセスを再起動する必要がある問題。ASP.NETアプリケーションもリサイクルされます。
  • 問題のあるアプリ(たとえば、メモリリークやCPU使用率の高いアプリ、データベース接続のリークなど)は、通常のアプリから分離されています。新しいアプリは、稼働時間とパフォーマンスが監視される「保護観察中」のプールに入ります。アプリが時間の経過とともに安定していることが判明した場合、通常のアプリのプールに移動されます。それ以外の場合は、分離されたままになります。これにより、問題のないアプリをグループ化できます。
7
splattne

また、ポートマンの回答に加えて、セキュリティ上の理由から。プールへのリソースアクセスを制限します。 http://blogs.iis.net/tomwoolums/archive/2008/12/17/iis-7-0-application-pools.aspx を参照してください。

2
CPU_BUSY