Вопрос

У меня есть веб-сайт на IIS 6 (Windows Server 2003), который иногда зависает.

График:

Выпущенный в Wild, веб -сайт работал нормально в течение 3 дней.

Веб -сайт висит по каждому запросу, пока веб -сайт не будет остановлен и запускается.

Веб -сайт работает в течение 2 недель без проблем.

Веб -сайт висит по каждому запросу, пока сайт не будет перезагружен.

Перед началом зависания мы видим несколько записей в журнале приложений:Сбойное приложение w3wp.exe, сбойный модуль неизвестен, адрес ошибки версии 0.0.0.0 -------.

Приложение, установленное на сайте, написано на .Net 2.0.

Может ли кто-нибудь помочь мне решить эту проблему?Спасибо!

Это было полезно?

Решение

Лучше всего использовать adplus для получения дампа памяти зависающего процесса w3wp, а затем использовать Windbg + расширение sos, чтобы попытаться определить причину зависания.

Вы можете получить Adplus и Windbg здесь:http://www.microsoft.com/whdc/devtools/debugging/default.mspx

Кроме того, блог Тесс Феррандес — настоящий кладезь информации о том, как анализировать дампы памяти с помощью Windbg.У нее даже есть набор лабораторных работ, которые вы можете пройти, ориентированных на конкретные сценарии.

http://blogs.msdn.com/tess/default.aspx

Другие советы

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

.NET кэширует папки вашего веб-приложения.На сервере есть ключ реестра (не помню где), который устанавливает ограничение на папку (хотите верьте, хотите нет).По умолчанию ограничение было установлено в 150 папок.Если в вашем веб-приложении было больше папок, чем это количество, и вы попытались получить доступ к 151-й папке, это привело бы к сбою IIS.

Да, это звучит безумно, но поверьте мне, я провел несколько недель в Microsoft, пока мы не выяснили причину сбоя.Тогда ответом было увеличение лимита в реестре и перезагрузка сервера.Это было пару лет назад, и я надеюсь, что это будет исправлено в последующих обновлениях, но я предлагаю это вам на тот случай, если вы используете более старую версию Server 2003.

К сожалению, я не могу предоставить более подробную информацию, но я просто хочу поделиться с вами своим опытом на тот случай, если это похоже на вашу проблему.

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

Мой совет — предоставить вашему приложению собственный пул приложений, чтобы вы были на 100% уверены, что именно приложение, по вашему мнению, отключает сервер. Какую дозу сообщает журнал приложений, когда это происходит?

Судя по предоставленной вами информации, это похоже на утечку памяти или проблему с открытым соединением/потоком БД.

PS Если вы используете N2, была известная проблема, которая при переработке IIS он не вернется.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top