Подтвердить что ты не робот

Пулы приложений IIS - Stop/Start vs Recycle

Я заметил, что в одном из моих веб-приложений для производства, когда я вручную перерабатываю пул приложений, переработанный рабочий процесс может занять более 60 секунд, чтобы фактически быть полностью уничтожен, основываясь на наблюдении за ним в диспетчере задач. Однако, если я полностью остановлю пул приложений, рабочий процесс исчезнет почти мгновенно - в течение 1-2 секунд.

Итак, мой вопрос в два раза:

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

b) Предполагая, что я отключил трафик от перенаправления на сервер, есть ли какая-нибудь причина НЕ останавливаться/запускать вместо утилизации?


Изменить: Чтобы прояснить, прежде чем я либо переработаю, либо остановил пул приложений, я остановлю трафик на сервере, о котором идет речь (сервер находится в кластере с балансировкой нагрузки, и я удаляю сервер из балансира нагрузки). Поэтому теоретически не должно быть запросов, поступающих на веб-сайт в то время, когда я делаю что-либо в пуле приложений.


Изменить часть Deux: После прочтения ссылки Igal мне кажется очевидным, что происходит. Когда я перерабатываю пул приложений, запускается новый процесс, но поскольку трафик вообще отсутствует, он не регистрирует новый процесс как функционирующий, поэтому он не отключает старый до тайм-аута (который равен 90 секунд).

Благодаря этим знаниям мне ясно, что функциональность "Recycle" специально предназначена для использования на потоке в реальном времени на промежуточном потоке, и поскольку я вручную трачу трафик заранее, вместо этого я должен использовать stop/start.

4b9b3361

Ответ 1

a) Из-за Overlapped Recycling. Существует период времени, в течение которого "старый" процесс ждет нового.

b) Нет. Насколько я знаю.

Ответ 2

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