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

Почему обнаруженные исключения приводят к сбою IIS или даже всего сервера Windows Azure?

У меня есть приложение Windows Azure (веб-роль), с которым у меня серьезные проблемы.

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

Количество исключений велико, от 30 до 100 в секунду.

Мое приложение успешно работает на трех экземплярах веб-ролей, но, столкнувшись с этой проблемой, я обновил до 10 экземпляров, потому что я уверен, что читал, что перехваченные исключения довольно загружены ресурсами, но это не имело значения.

В журнале событий нет ошибок или (насколько я могу судить) полезных предупреждений.

.. и, повторюсь, я могу гарантировать отсутствие неперехваченных исключений.

Это похоже на нормальное поведение сервера?

После дальнейшего расследования это не было вызвано исключениями, хотя огромное количество исключений действительно влияет на производительность, эта проблема заключалась просто в том, что проблема с базой данных, которая привела к исключению, также увеличила время обработки для каждого запроса, запросы не могли обрабатываться быстрее, чем они поступали, из-за чего они накапливались до тех пор, пока IIS не скажет «не больше! 503 !!»

Если вы уверены, что это исключения, StackOverflow, но, исходя из того, что я знаю: не напрямую. Только необработанные исключения вызывают прямое завершение процесса.

Но симптомы, которые вы описываете, тоже не таковы: «Служба IIS в конечном итоге выключается» - не могли бы вы уточнить, что именно вы имеете в виду под этим?

Исключения могут привести к исключительно плохой производительности, и 30-100 / сек кажутся ужасно много; если они выживают после генерации сборщика мусора, они могут просто фрагментировать ваше адресное пространство, но не сохранятся (проверено на утечку памяти?)

«Или, что еще хуже, вся веб-роль перестает отвечать» - вы имеете в виду экземпляр ВМ? Это больше похоже на утечку ресурсов, которые не очищаются (память или внешние ресурсы).