現在、本番IIS Webファームでは、単一のアプリプール(既定のアプリプール)で約15個のアプリケーションをホストしています。2つのWebサイトと約13の仮想ディレクトリがあります。
同僚は、IIS構成を変更して、各アプリケーションが(同じ設定の)個別のアプリプールになるようにすることを推奨しています。
これを行うことの欠点や潜在的な問題はありますか?ASP.NETアプリケーションがすべて同じアプリプール内にあるという要件で構築された可能性はありますか?
現在、本番IIS Webファームでは、単一のアプリプール(既定のアプリプール)で約15個のアプリケーションをホストしています。2つのWebサイトと約13の仮想ディレクトリがあります。
同僚は、IIS構成を変更して、各アプリケーションが(同じ設定の)個別のアプリプールになるようにすることを推奨しています。
これを行うことの欠点や潜在的な問題はありますか?ASP.NETアプリケーションがすべて同じアプリプール内にあるという要件で構築された可能性はありますか?
何らかの理由で共有メモリに依存しない限り、その要件を念頭に置いて構築されたとは思えません。それ以外の場合、説明されているシナリオでは...
(個別のアプリプールの)長所:
短所:
*.NETがHttpRuntimeキャッシュに関連するものと同じアプリプール内のWebサイトをどのように分離するかはわかりません。セッションの場合、「アプリケーションの一意性」(1)は次の要素によって決定されます。
これにより、たとえば、同じアプリプール内の異なるWebサイト間でセッションを共有できなくなります。ただし、キャッシュデータを共有する方が簡単な場合があります。概して、この議論は、特定のアプリケーションにWeb Gardenをデプロイすることの賛否両論と重複しています(2)。
1)
http://support.microsoft.com/?id=325056
http://rodiniz.spaces.live.com/blog/cns!F2A56AAF89A7E43A!658.entry
2)
http://nicholas.piasecki.name/blog/2009/02/on-web-gardens-aspnet-and-iis-60/
構成時間と(おそらく)より多くのメモリ要件に加えて、複数のアプリプールを使用することのマイナス面はありません。
(明確にするために...必要なメモリは多くの要因によって異なりますが、1つのプール内の15個のアプリが15個のプール内の15個のアプリよりも多くのメモリを使用する方法があります。各アプリが多くのメモリを必要としない場合、アプリはさまざまな時期に使用され、まれにしか使用されません。)