簡體   English   中英

回顧為每個網站/應用程序創建單獨的IIS應用程序池

[英]Drawback to creating a separate IIS application pool for each website / application

目前,在我們的生產IIS Web場中,我們在一個應用程序池(默認應用程序池)中托管了大約15個應用程序。 有兩個網站和大約13個虛擬目錄。

一位同事建議我們更改我們的IIS配置,以便每個應用程序都是一個單獨的應用程序池(具有相同的設置)。

這樣做有任何缺點或潛在問題嗎? 是否有可能構建ASP.NET應用程序的要求是它們都在同一個應用程序池中?

我懷疑他們是否考慮到了這個要求,除非他們出於某種原因依賴共享內存。 否則,對於描述的場景......

優點(獨立的應用程序池):

  • 進程隔離(一次崩潰不會導致其他崩潰)
  • 減少資源爭用
  • 更多可用於進程內會話的內存,緩存

缺點:

  • 更多進程,內存和上下文切換
  • 共享緩存方案不再可用*

*我不確定.NET如何在與HttpRuntime緩存相關的同一個應用程序池中隔離網站; 對於Sessions ,“應用程序唯一性”(1)由以下因素確定:

  • 所有服務器上的物理路徑(區分大小寫)
  • 機器鑰匙
  • 實例ID
  • 批准

例如,這就是阻止您在同一個應用程序池中跨不同網站共享會話的原因; 但是,共享緩存數據可能更容易。 總的來說,討論與為特定應用部署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/

除了配置時間和(可能)更多內存要求之外,使用多個App Pool沒有任何不利因素。

(只是要明確......所需的內存會因許多因素而有所不同 - 但有一種方法是,一個池中的15個應用程序使用的內存比15個池中的15個應用程序多。如果每個應用程序不需要太多內存,應用程序在不同的時間使用,而且很少使用。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM