Устранение неполадок с сбоем пула приложений на виртуальной машине Облачные службы
В этой статье описывается, как устранить сбой пула приложений на виртуальной машине в Облачные службы Microsoft Azure. Если пул приложений завершает работу, приложение перестанет отвечать.
Шаг 1. Проверка ошибок в процессах, обслуживающих пулы приложений
В Просмотр событий, если выбрать систему журналов>Windows в дереве консоли, может появиться одно из следующих событий:
Процесс обслуживания пула приложений "%1" получил неустранимая ошибка связи со службой активации процесса Windows. Идентификатор процесса был "%2". Поле данных содержит номер ошибки.
Процесс обслуживания пула приложений "%1" неожиданно завершился. Идентификатор процесса был "%2". Код выхода процесса был "%3".
Эти события четко указывают на сбой пула приложений. Так как в приложении произошла ошибка, пул приложений должен быть завершен. После завершения пула приложений также завершается соответствующий процесс w3wp.exe . Все данные на основе кэша или сеансов, сохраненные в процессе w3wp.exe , будут удалены.
Шаг 2. Проверка автоматического отключения пула приложений из-за связанных сбоев процесса
В идеале при сбое пула приложений новый процесс w3wp.exe автоматически создается для учета входящих запросов. Однако если пул приложений завершает работу более пяти раз в течение пяти минут, пул приложений переходит в остановленное состояние. Чтобы получить и запустить пул приложений, необходимо перезапустить пул приложений вручную. Если происходит что-то подобное, вы увидите следующее событие в системных журналах в Просмотр событий:
Пул приложений "%1" автоматически отключается из-за ряда сбоев в процессе(es), обслуживающих этот пул приложений.
Эти параметры можно настроить в диалоговом окне расширенных параметров пула приложений в разделе "Быстрая защита от сбоя". Свойство Enabled имеет значение true по умолчанию. Если свойство Enabled имеет значение True, пул приложений остановится после достижения ограничения сбоя в течение определенного времени. Ограничение сбоя представлено свойством Maximum Failures . Это свойство имеет значение по умолчанию 5. Интервал времени представлен свойством Интервала сбоя (минут). Это свойство также по умолчанию имеет значение 5.
Шаг 3. Запись файлов дампа процесса w3wp.exe
После определения сбоя приложения определите причину сбоя приложения. Перед завершением процесса необходимо записать файл дампа процесса w3wp.exe . Существует множество способов записи этого файла. Для записи файла аварийного дампа можно настроить отчеты об ошибках Windows (WER), ProcDump и DebugDiag. В этой статье рассматривается только метод DebugDiag для записи данных.
Чтобы скачать и установить DebugDiag, выполните следующие действия.
Перейдите на сайт средства диагностики отладки версии 2 и нажмите кнопку "Скачать".
Чтобы выбрать нужную загрузку, выберите соответствующую версию файла установщика Microsoft Windows (MSI) для архитектуры компьютера, а затем нажмите кнопку "Далее".
Откройте загруженный файл. В мастере установки примите параметры по умолчанию и завершите установку приложения.
Чтобы настроить приложение Коллекции DebugDiag 2, выполните следующие действия.
Выберите "Пуск", введите коллекцию DebugDiag 2, а затем откройте только что установленное приложение из списка результатов.
В диалоговом окне "Выбор типа правила" выберите параметр "Сбой" и нажмите кнопку "Далее".
В диалоговом окне "Выбор целевого типа" выберите параметр пула веб-приложений IIS и нажмите кнопку "Далее".
В диалоговом окне "Выбор целевого объекта" выберите конкретный пул приложений, который завершается сбоем, а затем нажмите кнопку "Далее". Если откроется окно, в котором указано, что управление службы IIS (IIS) не установлено, а пулы приложений не будут перечислены, нажмите кнопку "ОК", а затем введите имя приложения вручную.
В диалоговом окне "Расширенная конфигурация( необязательно) выберите точки останова добавить точку останова>.
Сделайте следующее, чтобы создать новую точку останова, а затем нажмите кнопку "ОК".
Поле Описание Значение Выражение смещения Процесс для записи Ntdll!ZwTerminateProcess Тип действия Тип захваченного дампа Полный userdump Ограничение действия Количество дампов для записи 10 В диалоговом окне "Настройка точек останова" убедитесь, что отображается новый элемент выражения точки останова. Нажмите кнопку "Сохранить" и "Закрыть ", чтобы вернуться в диалоговое окно "Расширенная конфигурация" (необязательно), а затем нажмите кнопку "Далее ", чтобы активировать точку останова.
В диалоговом окне "Выбор расположения дампа" и имени правила (необязательно) введите имя правила, а затем измените расположение Userdump на диск и каталог с достаточным объемом свободного места на диске, если это необходимо. (Размер каждого файла дампа будет соответствовать тому, что используется процессом w3wp.exe в памяти.)
Выберите Далее.
Чтобы активировать правило, нажмите кнопку "Готово".
Теперь правило сбоя находится в активном состоянии, а число userdump — 0. При возникновении проблемы число дампов немедленно увеличивается и создается соответствующий файл дампа.
Примечание.
Обычный перезапуск пула приложений также может активировать файл дампа. Это происходит из-за того, что при перезапуске соответствующий w3wp.exe идентификатор процесса (PID) пула приложений изменяется. При этом создается файл дампа. Этот файл является ложным срабатыванием. Таким образом, это не поможет вам проанализировать сбой пула приложений. При каждом добавлении числа userdump проверьте журналы событий, чтобы узнать, произошли ли ожидаемые события сбоя. Если события, как ожидалось, дамп, который был записан, является правильным.
Шаг 4. Анализ файлов дампа процессов w3wp.exe
После записи файла дампа можно открыть >анализ Отладки Отладки 2. Это приложение позволяет анализировать захваченный файл аварийного дампа.
Убедитесь, что у вас задан правильный путь к символам. Это двухпартийный процесс. В debugDiag 2 Analysis выберите "Параметры " (значок шестеренки). В разделе "Пути поиска символов" для анализа убедитесь, что выбраны _NT_SYMBOL_PATH и общедоступные серверы символов Майкрософт.
Откройте коллекцию DebugDiag 2 и выберите "Параметры инструментов>" и "Параметры". Затем в диалоговом окне "Параметры и параметры" убедитесь, что в поле "Путь поиска символов" для отладки (т. е. правила сбоя) задано значение srv*c:\symcache*.https://msdl.microsoft.com/download/symbols Этот путь приводит к тому, что DebugDiag скачивает символы по мере необходимости с общедоступного сервера символов Майкрософт, а затем сохраняет их в каталоге c:\symcache .
После изменения или проверки параметров пути к символам можно проанализировать захваченные файлы дампа. Чтобы начать анализ, вернитесь в Анализ DebugDiag 2 и дважды щелкните имя файла дампа. После создания отчета его можно открыть в браузере и понять стек вызовов потока, активировав выражение точки останова. Считывайте стек вызовов снизу до верхней части, а затем определите, какой метод или компонент активировал пул приложений для сбоя. Если вы не можете найти точный стек вызовов исключений, ознакомьтесь с стеком вызовов .NET в том же анализе файлов дампа.
Шаг 5. Проверка необработанных исключений в процессе w3wp.exe или WaWorkerHost.exe
Чтобы также проверить наличие необработанных исключений, которые привели к остановке процесса w3wp.exe или WaWorkerHost.exe, см. статью Необработанные исключения, вызывающие ASP. Приложения на основе NET неожиданно завершают работу в платформа .NET Framework.
Заявление об отказе от ответственности за сведения о продуктах сторонних производителей
В этой статье упомянуты программные продукты независимых производителей. Корпорация Microsoft не дает никаких гарантий, подразумеваемых и прочих, относительно производительности и надежности этих продуктов.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.