IIS 6 зависает, затем пул приложений сбрасывается. IIS Debug Diag Dump Attached

IIS 6.0 зависает, затем пул приложений сбрасывается примерно через 3 минуты. Это сайт ASP, после сброса он отлично работает в течение нескольких секунд, а затем зависает. Все остальные пулы приложений в этом экземпляре IIS 6 работают правильно. Похоже, что никаких проблем с производительностью этой машины. Я снял дамп памяти с помощью IIS Debug Diagnostics, и это отрендеренный анализ. Может ли кто-нибудь, пожалуйста, оказать некоторую поддержку?

Сводка анализа Тип Описание Рекомендация Предупреждение Обнаружена возможная блокировка или утечка критического раздела в ntdll!LdrpLoaderLock, принадлежащего потоку 24 в w3wp.exe__SupportSiteAppPool__PID__3960__Date__07_23_2009__Time_02_22_36PM__551__Manual Dump.dmp

Влияние этого замка

66,67% выполнения запросов ASP заблокированы

22,58% тем заблокированы

(Темы 6 22 23 27 28 29 30)

Следующие функции пытаются войти в этот критический раздел

Ntdll!LdrLockLoaderLock+133

Ntdll!LdrpGetProcedureAddress+128

Ntdll!LdrpInitializeThread+68

Следующие модули связаны с этим критическим разделом

C:\WINDOWS\system32\ntdll.dll от Microsoft Corporation Функция точки входа для библиотеки динамических ссылок (DLL) должна выполнять только простые задачи инициализации или завершения, однако этот поток (24) загружает dll с помощью API-интерфейса LoadLibrary. Следуйте инструкциям в документации MSDN для DllMain, чтобы избежать нарушений доступа и взаимоблокировок при загрузке и выгрузке библиотек.

Пожалуйста, обратитесь к поставщику Microsoft Corporation для C:\WINDOWS\system32\mscoree.dll. Предупреждение Обнаружена возможная блокировка или утечка критического раздела в asp! G_ViperReqMgr+2c, принадлежащего потоку 8 в w3wp.exe__SupportSiteAppPool__PID__3960__Date__07_23_2009__1.mp._0_2.

Влияние этого замка

6,45% тем заблокировано

(Темы 7 9)

Следующие функции пытаются войти в этот критический раздел

осина!CViperActivity::PostAsyncRequest+72

Следующие модули связаны с этим критическим разделом

\?\C:\WINDOWS\system32\inetsrv\asp.dll от Microsoft Corporation Следующие поставщики были определены для последующего наблюдения на основе анализа первопричин

Корпорация Майкрософт

Обратитесь к поставщикам, указанным выше. Чтобы определить первопричину этой критической проблемы раздела, рассмотрите следующий подход: включите "проверки блокировки" в Application Verifier. Загрузите Application Verifier со следующего URL:

Microsoft Application Verifier Включите "проверки блокировки" для этого процесса, выполнив следующую команду:

Appverif.exe -enable locks -for w3wp.exe Для получения дополнительной информации о проверке приложения см. Следующий документ:

Тестирование приложений с помощью AppVerifier Используйте правило сбоя DebugDiag для отслеживания исключений в приложении.

4 ответа

Решение

Ваше приложение ASP Classic не работает, потому что все потоки заблокированы. Я предлагаю запустить Process Monitor на веб-сервере, чтобы увидеть, какие маркеры используются. Я не вижу много повторений в вашей трассировке стека, которые указывали бы на проблему с определенной DLL.

Учитывая предоставленную информацию, это звучит как проблема с самим приложением, а не с IIS. Вы удостоверились, что нет никаких сумасшедших жестких циклов или чрезмерных / чрезвычайно тяжелых загрузок БД, возможно, некоторых вызовов PInvoke или просто чего-то необычного для веб-приложения, которые убивают приложение / среду выполнения и приводят к смерти пула?

Я надеюсь, что вы не просто опубликовали свой производственный пароль, братан:).

Я согласен с Quintin, похоже, что-то в провайдере ADO вызывает сбой.

Я думаю, что вы должны попробовать некоторые инструменты, такие как Fiddler и другие вещи. С этим вы можете точно знать, что занимает время для загрузки вашего сайта. Из журнала кажется, что есть проблема с самим приложением. Поэтому не используйте чрезмерные циклы, кешируйте данные из базы данных и используйте их, а также не храните большой объект в сеансе или приложении.

Другие вопросы по тегам