Я нуб IIS. Я читал о преимуществах утилизации пула приложений для освобождения памяти, вызванной проблемными приложениями, которые могут иметь утечки. Я понимаю, что, перезагружая пул приложений, я, по сути, перезапускаю приложение без перезапуска сервера. Я также понимаю, что, перезагружая пул приложений, я очищаю кеш и сеансы приложений.
Мой вопрос: когда я перерабатываю пул приложений, который настроен только на 1 рабочий процесс, очищает ли это очередь запросов или запросы в очереди будут выполнены при запуске нового рабочего?
Когда вы повторно используете пул приложений в IIS 7 и более поздних версиях (не уверены в более ранних версиях), по умолчанию IIS запускает новый рабочий процесс для обработки новых запросов. перед завершение существующего рабочего процесса. Ни в коем случае не допускается сбой отдельного запроса, и если какие-либо запросы помещены в очередь, они будут обрабатываться как обычно новым рабочим процессом.
Кроме того, вы должны запланировать перезапуск любого пула приложений в непиковые часы, поскольку вы поняли, что это очистит все активные сеансы и нарушит взаимодействие с пользователем, если приложение полагается на хранилище сеансов.
Лучше всего исправить утечку памяти приложения в источнике, но я понимаю, что это не всегда практично. Я бы также проверил, чтобы убедиться, что у вас действительно есть проблема; не просто планируйте регулярную перезагрузку пула приложений на случай, если в приложении действительно есть утечка - сначала проверьте и убедитесь, что у вас есть проблема.