Назад | Перейти на главную страницу

«Мертвые» пулы приложений IIS 6 не могут быть остановлены или переработаны

На производственной машине, которой я управляю, пулы приложений периодически умирают. После их смерти кажется невозможным остановить или сбросить их, не выполнив iisreset. В этом случае я использую слово «умереть», чтобы обозначить, что сайты, размещенные в пуле приложений, больше не отвечают на запросы.

Есть 7 пулов приложений; 4 никогда не умирают, а остальные 3 умирают нерегулярно. Раньше бассейн выходил из строя всего через час после сброса iisreset. Я почти уверен, что проблема в каждом пуле вызвана каким-то приложением в пуле. В конце концов я найду эту проблему.

Вот почему мне нужна твоя помощь. Как только пул умирает, я не могу его остановить или переработать. В диспетчере IIS попытка переработать мертвый пул приводит к зависанию диспетчера, и я вынужден принудительно убить его. Попытка остановить мертвый пул вызывает зависание, которое в конечном итоге заканчивается сообщением об ошибке, что пул не ответил на запрос остановки или управления. Единственный способ восстановить пулы приложений - это выполнить iisreset.

После смерти пула он не отображается в выводе iisapp.vbs.

В журнале событий приложений нет никаких признаков неисправности.

Система - Windows Server 2003 R2 SP 2. Проблемные пулы приложений заполняются веб-приложениями ASP.NET.

Что тут происходит? Есть ли способ командной строки вызвать (перезапуск) пул приложений? Что-то не так с моей конфигурацией, что мешает мне переработать один из этих мертвых пулов приложений?

Похоже, эти «мертвые» пулы более или менее где-то застряли, возможно, в бесконечном цикле, поэтому они не отвечают на запросы остановки / перезапуска от IIS.

Что произойдет, если вы посмотрите в диспетчере задач на наличие процессов "w3wp.exe"? У вас должно быть несколько из них, каждая из которых обслуживает один пул приложений; если это проблема с бесконечным циклом, процесс, обслуживающий «мертвый» пул, будет интенсивно использовать процессорное время (типично максимизируя одно ядро ​​процессора); вы можете определить его по этому и убить с помощью диспетчера задач.