Почему пулы приложений IIS должны быть переработаны? - PullRequest
17 голосов
/ 24 августа 2011

Пулы приложений в IIS перерабатываются очень часто, и я не могу понять, почему.Я помню, как читал о возможной проблеме в IIS6, которая означала, что вы были вынуждены утилизировать, но быстрый поиск теперь оказывается пустым.На IIS6 или 7 вы можете отключить параметры времени простоя, продолжительности и определенного времени, поэтому никаких проблем нет.

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

Кроме того, если это не удастся, каков будет лучший способ обеспечения вызова фоновых задач, есть ли автоматический перезапускмодули для IIS или для выполнения этих вызовов должна использоваться внешняя служба?

Похоже, это возможно сделать, если вы действительно этого хотели / нуждались?

Ответы [ 2 ]

21 голосов
/ 24 августа 2011

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

Помимо начальной загрузки при повторном запуске приложения, эффект должен быть минимальным.Http.sys удерживает запросы, пока запускается новый рабочий процесс, поэтому никакие запросы не должны быть отброшены.

1 голос
/ 14 июня 2019

С https://weblogs.asp.net/owscott/why-is-the-iis-default-app-pool-recycle-set-to-1740-minutes

Вы можете спросить, нужен ли фиксированный повторный цикл.Ежедневный перезапуск - это всего лишь вспомогательное средство для обновления IIS в случае небольшой утечки памяти или чего-либо еще, что медленно проникает в рабочий процесс.Теоретически вам не требуется ежедневная переработка, если у вас нет известных проблем.Раньше я рекомендовал, чтобы вы выключили его полностью, если вам это не нужно.Однако сегодня я больше склоняюсь к тому, чтобы превратить его один раз в сутки в непиковое время в качестве упреждающей меры.

Моя причина в том, что, во-первых, ваш сайт должен быть в состоянии выжить при повторной переработке безслишком сильное воздействие, поэтому ежедневная переработка не должна быть проблемой.Во-вторых, я обнаружил, что даже у пулов приложений с хорошим поведением со временем может появиться нечто, влияющее на пул приложений.Я видел проблемы с шаблонами трафика, которые вызывают чрезмерное кэширование или что-то странное в приложении, и я видел очень редкую ошибку IIS (действительно, очень редко!), Которая не является проблемой при ежедневной утилизации.Это лейкопластырь?Возможно, но если ежедневный перезапуск удерживает некритичные проблемы от пузырей наверху, то я считаю, что это хорошая упреждающая мера, позволяющая сэкономить много усилий по устранению неполадок для чего-то, что, вероятно, не важно для устранения неполадок.Однако, если вы считаете, что у вас есть реальная проблема, которая устраняется при переработке, то обязательно отключите автоматическую переработку, чтобы вы могли отследить и решить вашу проблему.Там нет черно-белого ответа.Только вы можете принять наилучшее решение для вашей среды.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...