11

現在、本番IIS Webファームでは、単一のアプリプール(既定のアプリプール)で約15個のアプリケーションをホストしています。2つのWebサイトと約13の仮想ディレクトリがあります。

同僚は、IIS構成を変更して、各アプリケーションが(同じ設定の)個別のアプリプールになるようにすることを推奨しています。

これを行うことの欠点や潜在的な問題はありますか?ASP.NETアプリケーションがすべて同じアプリプール内にあるという要件で構築された可能性はありますか?

4

2 に答える 2

7

何らかの理由で共有メモリに依存しない限り、その要件を念頭に置いて構築されたとは思えません。それ以外の場合、説明されているシナリオでは...

(個別のアプリプールの)長所:

  • プロセスの分離(1つのクラッシュで他のクラッシュがダウンすることはありません)
  • リソースの競合が少ない
  • インプロセスセッション、キャッシュに使用できるより多くのメモリ

短所:

  • より多くのプロセス、メモリ、およびコンテキストスイッチ
  • 共有キャッシュシナリオは利用できなくなりました*

*.NETがHttpRuntimeキャッシュに関連するものと同じアプリプール内のWebサイトをどのように分離するかはわかりません。セッションの場合、「アプリケーションの一意性」(1)は次の要素によって決定されます。

  • すべてのサーバーの物理パス(大文字と小文字を区別)
  • マシンキー
  • インスタンスID
  • approot

これにより、たとえば、同じアプリプール内の異なる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/

于 2010-01-05T21:01:03.593 に答える
2

構成時間と(おそらく)より多くのメモリ要件に加えて、複数のアプリプールを使用することのマイナス面はありません。

(明確にするために...必要なメモリは多くの要因によって異なりますが、1つのプール内の15個のアプリが15個のプール内の15個のアプリよりも多くのメモリを使用する方法があります。各アプリが多くのメモリを必要としない場合、アプリはさまざまな時期に使用され、まれにしか使用されません。)

于 2010-01-05T20:19:55.393 に答える