Что является причиной того, что «пул приложений превысил временные ограничения во время выключения»?

8

У меня есть веб-сайт, который выбрасывает 500 ошибок случайно (обычно раз в несколько часов). Я проверил вид события и вижу следующую ошибку:

Процесс, обслуживающий пул приложений « xxxxxxx », превысил временные ограничения во время завершения работы. Идентификатор процесса был «xxxx».

Интересно, какова потенциальная причина этой проблемы, чтобы я мог ее исправить?

Обезьяна d Луффи
источник

Ответы:

11

Каждый веб-сайт (и, возможно, каждое веб-приложение) - это IIS, связанный с пулом приложений, в котором хранится конфигурация процесса хостинга.

Некоторые из этих свойств связаны с тем, как процесс утилизируется (прекращается и перезапускается). По умолчанию каждое приложение будет закрываться каждые 1740 минут (29 часов), но его также можно будет повторно использовать, если оно не используется (опять же по умолчанию) в течение 20 минут, если оно не отвечает на запросы «ping» (фактически, мониторинг работоспособности бьется) , Другие ограничения могут быть установлены администратором.

Когда приложение перерабатывается, контейнерный процесс останавливается. У него есть (по умолчанию) 90 секунд для правильного выключения, иначе он будет принудительно закрыт.

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

Теперь есть еще один аспект: если ваше приложение «отказывает» (т. Е. Отправляет обратно ошибку сервера) более чем (по умолчанию) 5 раз в течение 5 минут, оно будет закрыто IIS и останется выключенным, пока вы не перезапустите его вручную. Это.

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

Stephane
источник