Недостаток создания отдельного пула приложений IIS для каждого веб-сайта/приложения

В настоящее время на нашей веб-ферме IIS мы размещаем около 15 приложений в одном пуле приложений (пул приложений по умолчанию). Есть два веб-сайта и около 13 виртуальных каталогов.

Сотрудник рекомендовал изменить нашу конфигурацию IIS, чтобы каждое приложение было отдельным пулом приложений (с идентичными настройками).

Есть ли недостатки или потенциальные проблемы для этого? Возможно ли, что приложения ASP.NET могли быть построены с требованиями, что все они находятся в одном и том же пуле приложений?

Ответ 1

Я сомневаюсь, что они были построены с учетом этого требования, если они почему-то не полагаются на разделяемую память. В противном случае для описанного сценария...

Плюсы (отдельного пула приложений):

  • изоляция процесса (один сбой не снижает других)
  • меньше конфликтов ресурсов
  • доступно больше памяти для сеансов in-proc, кеш

Минусы:

  • переключается больше процессов, памяти и контекста.
  • общие сценарии кэширования более недоступны *

* Я не уверен, как .NET разделяет веб-сайты в том же пуле приложений, что и в кэше HttpRuntime; для Сеансов, уникальность приложения (1) определяется:

  • Физический путь на всех серверах (с учетом регистра)
  • Ключ машины
  • Идентификатор экземпляра
  • Соответствующий

Это то, что препятствует вам, например, совместному использованию сеансов на разных сайтах в одном и том же пуле приложений; но, возможно, было бы проще использовать данные кэша. По большому счету, обсуждение перекрывается с плюсами/минусами развертывания 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/

Ответ 2

Помимо времени настройки и (возможно) большего объема требований к памяти, нет ни одной стороны для использования более чем одного пула приложений.

(Просто чтобы быть ясным... необходимая память будет варьироваться в зависимости от многих факторов, но есть способ, когда 15 приложений в одном пуле используют больше памяти, чем 15 приложений в 15 пулах. Если каждому приложению не нужно много память и приложения используются в разное время и нечасто.)