У меня есть веб-сайт, который случайным образом выдает ошибку 500 (обычно раз в несколько часов). Я проверил просмотр событий и увидел следующую ошибку:
Пул приложений, обслуживающих процесс 'xxxxxxx'превышены временные ограничения во время выключения. Идентификатор процесса был «xxxx».
Интересно, какова потенциальная причина этой проблемы, чтобы я мог ее исправить?
Каждый веб-сайт (и, возможно, каждое веб-приложение) - это IIS, связанный с пулом приложений, в котором хранится конфигурация процесса размещения.
Некоторые из этих свойств связаны с тем, как процесс перезапускается (завершается и перезапускается). По умолчанию каждое приложение будет завершаться каждые 1740 минут (29 часов), но оно также может быть переработано, если оно не используется в течение (опять же, по умолчанию) 20 минут, если оно не отвечает на «пинг» (на самом деле, мониторинг работоспособности бьет) . Другие ограничения могут быть установлены администратором.
Когда приложение перерабатывается, процесс контейнера останавливается. У него есть (по умолчанию) 90 секунд для правильного выключения, иначе он будет принудительно закрыт.
Итак, причина вашей проблемы в том, что достигнут один из пределов повторного использования для вашего веб-приложения, в результате чего IIS пытается его завершить. К сожалению, приложение не закрывается вовремя, что вызывает (временную) ошибку 500.
Теперь есть еще один аспект: если приложение «дает сбой» (т.е. отправляет обратно ошибку сервера) более (по умолчанию) 5 раз в течение 5 минут, оно будет отключено IIS и останется отключенным, пока вы не перезапустите его вручную. Это.
Все это указывает на ошибку в коде вашего приложения. Поговорите с поставщиком этого кода, и они помогут вам диагностировать точную проблему.