У меня есть приложение ASP.net MVC, работающее на Windows Server 2008 с IIS 7. Все работает нормально, но каждую ночь пулы приложений останавливаются, и я получаю ошибку http 503
, мне приходится перезапускать пул каждое утро.
Сервер обслуживается кем-то другим, и я знаю, что ночью он выполняет какую-то другую работу, которая, как я думаю, и является причиной этого. Более того, я знаю, что ночью я получаю тайм-ауты подключения к базе данных (SQL Server работает на той же машине).
Мне было бы интересно узнать:
- Почему это происходит. Это особенность IIS, которая останавливает пул приложений, когда сервер становится слишком медленным или когда происходит слишком много ошибок?
- Есть ли какая-то конфигурация, чтобы остановить это, или есть способ заставить пул приложений попытаться перезапуститься самостоятельно?
Буду благодарен за любые подсказки.
решение1
Да, в IIS 7 встроен интервал ошибок. У меня здесь только голландская версия IIS, поэтому я могу перевести ее не совсем правильно.
Перейти к Application Groups
-> [Щелкните правой кнопкой мыши по указанному приложению] -> Advanced Settings
.
Перейти в категорию Fast security against errors
.
Здесь вы можете видеть, что он включен по умолчанию с интервалом ошибок 5 минут для 5 ошибок. Вы можете отключить эту опцию или настроить ее. Вы также можете создать пакетное задание, которое будет запускать ваше приложение каждое утро. Эта опция более безопасна для вашей базы данных, потому что будет намного сложнее вывести из строя ваш сайт и вашу базу данных с помощью DoS-атаки, когда защита от ошибок отключена.
Вы можете запустить приложение с помощью командной строки, например:
%windir%\system32\inetsrv\appcmd start apppool /apppool.name:[Имя приложения]