Event ID 5008 IIS WAS: критическая ошибка связи с процессом w3wp
Симптомы критической ошибки связи (Event ID 5008)
В системном журнале регистрируется ошибка от источника Microsoft-Windows-WAS: Event ID 5008: A worker process serving application pool '[Имя_пула]' suffered a fatal communication error with the Windows Process Activation Service.
| Симптом | Последствия |
|---|---|
| Зависание обработки веб-запросов | Сайт перестает открываться, входящие запросы уходят в таймаут |
| Принудительный перезапуск w3wp | Служба WAS уничтожает процесс через TerminateProcess() |
| Высокая нагрузка на CPU | Процессор загружен на 100% из-за бесконечных циклов в приложении |
Пошаговое решение ошибки коммуникации WAS (Event ID 5008)
- Увеличьте время ответа на проверку работоспособности (Ping Response Time):
# Увеличение таймаута ответа на пинг до 180 секунд (3 минут):
& "$env:SystemRoot\System32\inetsrv\appcmd.exe" set apppool /apppool.name:"ИмяПула" /processModel.pingResponseTime:"00:03:00"- Проверьте текущую загрузку пула запросами в реальном времени:
# Список текущих выполняющихся запросов дольше 3 секунд:
& "$env:SystemRoot\System32\inetsrv\appcmd.exe" list requests /elapsed:3000- Оптимизируйте лимиты потоков CLR в файле aspnet.config: если происходит истощение пула потоков, добавьте параметр автонастройки потоков:
# Откройте файл C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config
# Убедитесь в наличии секции:
#
#
# Важно: Если на сервере происходят зависания базы данных SQL Server, запросы в IIS накапливаются в очереди, вызывая ошибку 5008. Проверьте задержки дисковой подсистемы и блокировки в СУБД.
Частые вопросы (FAQ)
Почему WAS считает, что процесс w3wp завис?
Служба WAS периодически отправляет служебный пинг рабочему процессу. Если процесс не отвечает в течение Ping Response Time, он признается зависшим и принудительно перезапускается.
Как отличить Event ID 5008 от штатного перезапуска пула?
Штатный перезапуск регистрируется с уровнем 'Information', а сбой связи 5008 регистрируется с уровнем 'Warning' или 'Error'.
Поможет ли отключение пинга решить проблему?
Отключение пинга лишь скроет ошибку 5008, но сайт останется зависшим для пользователей.
Как принудительно создать дамп памяти при зависании процесса по пингу?
В дополнительных свойствах пула настройте опцию 'Действие при сбое связи' (Orphan Action Executable) для вызова procdump.exe.