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 и другие вещи. С этим вы можете точно знать, что занимает время для загрузки вашего сайта. Из журнала кажется, что есть проблема с самим приложением. Поэтому не используйте чрезмерные циклы, кешируйте данные из базы данных и используйте их, а также не храните большой объект в сеансе или приложении.