Event ID 5061 IIS WAS: сбой коммуникации службы активации с пулом
Симптомы ошибки коммуникации (Event ID 5061)
В системном журнале регистрируется ошибка от источника Microsoft-Windows-WAS: Event ID 5061: A worker process serving application pool '[Имя_пула]' suffered a fatal communication error with the Windows Process Activation Service.
| Симптом | Описание |
|---|---|
| Зависание веб-сервера | Сервер перестает обрабатывать HTTP-запросы |
| Принудительное уничтожение процесса | Служба WAS принудительно убивает процесс по таймауту |
| Ошибки 504 Gateway Timeout | Балансировщики фиксируют недоступность бэкенда |
Пошаговое решение ошибки связи (Event ID 5061)
- Увеличьте допустимое время отклика процесса на пинг:
# Увеличение таймаута ответа на пинг до 240 секунд:
& "$env:SystemRoot\System32\inetsrv\appcmd.exe" set apppool /apppool.name:"ИмяПула" /processModel.pingResponseTime:"00:04:00"- Проверьте наличие взаимоблокировок (Deadlocks) и тяжелых транзакций:
# Просмотр списка запросов, выполняющихся дольше 5 секунд:
& "$env:SystemRoot\System32\inetsrv\appcmd.exe" list requests /elapsed:5000- Настройте параметры очереди пула:
# Увеличение размера очереди входящих запросов до 5000:
& "$env:SystemRoot\System32\inetsrv\appcmd.exe" set apppool /apppool.name:"ИмяПула" /queueLength:5000Совет: Если ваше приложение выполняет тяжелые фоновые операции (генерация PDF, отчеты, выгрузка баз), вынесите их в отдельную фоновую службу Windows Service или Hangfire, чтобы не блокировать рабочий пул IIS.
Частые вопросы (FAQ)
Почему служба WAS теряет связь с процессом w3wp?
Процесс w3wp оказывается настолько перегружен выполнением задач или заблокирован дедлоком, что его системный коммуникационный поток не может вовремя ответить на служебный запрос WAS.
Чем Event ID 5061 отличается от 5008 и 2268?
События идентичны по своей сути и фиксируют один и тот же сценарий отказа механизма проверки жизнеспособности (Ping Monitoring).
Как временно отключить проверку связи пула?
Установите pingingEnabled в false в параметрах пула приложений.
Как увидеть загрузку памяти и CPU конкретным пулом IIS?
В оснастке IIS Manager выберите узел сервера -> 'Рабочие процессы' (Worker Processes).