Плюсы и минусы наличия выделенных пулов приложений вместо хранения веб-приложений в одном пуле приложений по умолчанию

Каковы плюсы и минусы наличия выделенных пулов приложений вместо хранения веб-приложений в одном пуле приложений по умолчанию?


person GrZeCh    schedule 21.10.2008    source источник
comment
Возможно, вам стоит уточнить, говорите ли вы об интерактивных приложениях или веб-сайтах, доставляющих контент. Также о скольких приложениях / веб-сайтах вы говорите. В зависимости от этой информации ответ может быть совершенно разным.   -  person AnthonyWJones    schedule 22.10.2008


Ответы (5)


Плюсы:

  • Приложения изолированы друг от друга, если IIS не идет с ним, блокировка пула приложений удалит только приложения в этом пуле.
  • Возможность запускать приложения в разных средах выполнения ASP.NET, один пул для 1.1, другой для 2.0, если необходимо
  • Возможность иметь разные настройки пула приложений для более или менее важных приложений. Например, корпоративный веб-сайт в ASP.NET может захотеть завершить работу через __ минут бездействия, чтобы предотвратить выгрузку, поскольку ответ критичен. Другим сайтам это может не понадобиться.
  • Могут защищать пулы друг от друга в отношении доступа к файлам, отлично подходит для сторонних или ненадежных приложений, поскольку они могут работать под очень ограничительной учетной записью пользователя.

Минусы:

  • Каждый пул приложений имеет свой собственный банк памяти и собственный процесс, поэтому МОЖЕТ использовать больше ресурсов.
  • Некоторым сложно отлаживать приложение, так как у вас несколько процессов.
person Mitchel Sellers    schedule 21.10.2008
comment
Маленький мир. Хороший ответ, Митч! :) - person Will Strohl; 06.08.2014

Основная причина объединения сайтов в пулы приложений - экономия памяти. При запуске нескольких процессов w3wp.exe возникают большие накладные расходы на память. Если у вас нет особых причин для разделения, лучше держать их вместе.

person Mark S. Rasmussen    schedule 21.10.2008
comment
ПОЖАЛУЙСТА, добавьте комментарий, когда проголосуете против. Человеку, задавшему вопрос, понравился этот ответ. Ответ неправильный? Почему? - person DOK; 22.10.2008
comment
+1 за это. Это не общий ответ. У меня есть многоуровневое приложение, работающее рядом с демонстрационным сайтом. Сервисные и информационные сайты демонстрационного сайта находятся в одном пуле приложений, тогда как производство разделено. Имеет смысл сделать одно / и то, и другое, поскольку это очень простой способ распределения ресурсов. - person Gats; 30.03.2013
comment
Для локальной разработки нормально иметь один пул приложений (для упрощения отладки и меньшего потребления памяти), но для постановки / производства мы используем выделенные пулы для каждого веб-сайта. - person igorGIS; 16.09.2014

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

Кроме того, если вы смешиваете версии ASP.Net на одном и том же веб-сервере, вам понадобятся разные пулы приложений для каждой версии ASP.Net как минимум или сделать это для каждого веб-сайта.

Я не могу придумать веской причины не разделять пулы приложений, это так просто сделать.

person JasonS    schedule 21.10.2008

Я согласен с Джейсоном.

Кроме того, вы можете назначить разных пользователей (например, учетную запись Windows) для разных пулов приложений. Это позволяет настраивать этих пользователей с разными разрешениями в базе данных. Это помогает повысить безопасность и позволяет отслеживать, какой веб-сайт / пользователь обращается к базе данных, что полезно при отслеживании проблем с производительностью базы данных.

person DOK    schedule 21.10.2008
comment
Фактически, с идентификаторы пула приложений, вы можете предоставить разрешение БД одному конкретному пулу приложений без необходимости в дополнительных Учетные записи Windows. Это также защищает данные вашего клиента: если одно веб-приложение будет взломано, злоумышленник не получит доступа к другим базам данных. - person Heinzi; 10.10.2016

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

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

В зависимости от того, как вы развертываете свой сайт (например, в режиме выпуска и т. Д.), Это либо не будет проблемой, либо может раздражать.

Вот почему мы планируем перейти на один пул приложений / сервер, а не на один для каждого сайта.

person Markive    schedule 23.07.2019