Ответ 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/