IIS7.0 基本のき(補講4)

補講の4回目です。今回は「アプリケーションプール」について解説します。

ASP.NET アプリケーションは、PerlなどのCGIと違って、一度コンパイルされて動いています。前回、解説したように一時的にコンパイルされたDLLを呼び出しているわけです。

このDLLは単体で動くわけではなくて、w3wp.exe という「ワーカープロセス」から呼び出しています。この実行ファイルを制御しているのが「アプリケーションプール」というものです。
通常は、「ワーカープロセス」=「アプリケーションプール」と覚えていて構いません。

IISマネージャでみると、これですね。

<012>
20100303_0121

また、ASP.NETアプリケーションが動くときに、このワーカープロセスが1つずつ起動されているわけではありません。複数のASP.NETは、ひとつのワーカープロセスに相乗りしています。

中身を見たいアプリケーションプールを選択して、右側の【アプリケーションの表示】を選択すると、アプリケーションプールを共有している ASP.NET アプリが見れます。

<013>
20100303_0131
さて、ちょっと考えると分かりますが、複数のASP.NETアプリが相乗りしているということは、このワーカープロセスが落ちるようなことがあると、全てのASP.NETに影響がでてしまいます。
つまり、他のASP.NETアプリで不都合があったり、非常に重たかったりすると、他のASP.NETアプリに影響がでるわけです。

これを防ぐために、デフォルトのアプリケーションプール以外にも、新しいアプリケーションプールを作成できます。
アプリケーションプールを選択した後に、右上にある【アプリケーションプールの追加】を選択します。

<014>
20100303_0141

こうすることで、重たいASP.NETアプリを別のアプリケーションプールに移して、軽いASP.NETアプリはひとつのアプリケーションプールに置く、という配置が可能です。

カテゴリー: 設計 パーマリンク