Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Некоторые из следующих рекомендаций могут работать только в службах приложений Windows или Linux. Например, службы приложений Linux по умолчанию работают в 64-разрядном режиме.
В этой статье приводятся ответы на распространенные вопросы о доступности, производительности и устранении проблем с приложениями в компоненте веб-приложений Службы приложений Azure. Используйте это руководство для быстрого устранения проблем и оптимизации надежности приложения.
Где можно просмотреть сведения о квотах и ограничениях для различных планов службы приложений?
Сведения о квотах и ограничениях см. в этом разделе.
План службы приложений, отображающий использование ЦП и памяти даже при остановке всех веб-приложений
служба приложение Azure требует непрерывного системного процесса, обрабатывающего несколько операций и функций платформы, таких как обновления системы безопасности, доступность консоли SCM, мониторинг приложений, проверка подлинности и многие другие важные функции веб-приложения.
Системные процессы будут выполняться в планах Служба приложений, даже если нет веб-приложения или если план Служба приложений не содержит веб-приложения.
Процессы платформы будут потреблять минимальный объем ресурсов (например, ЦП, памяти и дискового пространства), а в процессе планирования емкости, мониторинга и автоматического масштабирования конфигурации триггера плана Служба приложений.
Медленное выполнение приложения
На снижение производительности приложения могут влиять несколько факторов. Подробные инструкции по устранению неполадок см. в разделе Устранение причин низкой производительности веб-приложения в службе приложений Azure.
Подсказка
- Включите параметр AlwaysOn вразделе "Общие параметры конфигурации>", чтобы сохранить приложение теплым и избежать холодных запусков. Это помогает сократить задержку после простоя, особенно в базовых и более высоких планах.
- Настройте путь проверки работоспособности для отслеживания работоспособности приложения и автоматической замены неответственных экземпляров. Это помогает поддерживать доступность и производительность. Для получения дополнительной информации см. Мониторинг экземпляров службы приложений с помощью проверки работоспособности.
Как устранить неполадки с высоким потреблением ЦП?
В некоторых сценариях с высоким уровнем потребления ресурсов ЦП приложение действительно требует большего объема вычислительных ресурсов. В этом случае мы советуем выбрать более высокий уровень служб, за счет чего приложение получит все необходимые ресурсы. Кроме того, причиной высокого уровня потребления ресурсов ЦП может стать неправильный цикл или процедура кодирования. Чтобы определить причину более активного использования ресурсов ЦП, необходимо выполнить два действия. Сначала создайте дамп процесса, а затем выполните его анализ. Дополнительные сведения см. в записи блога How to capture and analyze a dump file when intermittent High CPU happens on Azure Web App (Создание и анализ файла дампа при высоком уровне потребления ресурсов ЦП в веб-приложениях Azure).
Как устранить неполадки с высоким потреблением памяти?
В некоторых сценариях с высоким уровнем потребления памяти приложение действительно требует большего объема вычислительных ресурсов. В этом случае мы советуем выбрать более высокий уровень служб, за счет чего приложение получит все необходимые ресурсы. Кроме того, причиной высокого уровня потребления и утечки памяти может стать ошибка в коде Практика кодирования также может увеличить потребление памяти. Чтобы определить причину активного использования памяти, необходимо выполнить два действия. Сначала создайте дамп процесса, а затем выполните его анализ. Средство диагностики аварийного завершения из коллекции Azure Site Extensions позволяет эффективно выполнять оба этих действия. Дополнительные сведения см. в записи блога How to capture and analyze dump for intermittent High Memory on Azure Web App (Создание и анализ файла дампа при высоком уровне потребления памяти в веб-приложениях Azure).
Как автоматизировать задачи веб-приложений службы приложений с помощью PowerShell?
Настроить веб-приложения службы приложений и управлять ими можно с помощью командлетов PowerShell. В записи блога Automate web apps hosted in Azure App Service by using PowerShell (Автоматизация веб-приложений, размещенных в службе приложений Azure с помощью PowerShell) описана процедура автоматизации стандартных задач с помощью командлетов PowerShell на основе Azure Resource Manager.
Примечание.
Для текущих сценариев автоматизации используйте последний модуль Az.Websites . Старый AzureRM модуль устарел.
Мне нужно собрать сведения для устранения неполадок с веб-приложением
Просмотр журналов событий веб-приложения
- Перейдите на веб-сайт Kudu (
https://*yourwebsitename*.scm.azurewebsites.net). - В меню выберите Консоль отладки>CMD.
- Выберите папку LogFiles.
- Чтобы просмотреть журналы событий, щелкните значок карандаша рядом с файлом eventlog.xml.
- Чтобы загрузить журналы, выполните командлет PowerShell
Save-AzureWebSiteLog -Name webappname.
Запись дампа памяти в пользовательском режиме веб-приложения
- Перейдите на веб-сайт Kudu (
https://*yourwebsitename*.scm.azurewebsites.net). - Откройте меню Обозреватель процессов.
- Щелкните правой кнопкой мыши процесс w3wp.exe или процесс веб-задания.
- Выберите Download Memory Dump (Загрузить дамп памяти)>Full Dump (Полный дамп).
Как просматривать информацию о процессах для веб-приложения
Сведения уровня процесса о веб-приложении можно просмотреть двумя способами:
- В портал Azure:
- Откройте обозреватель процессов веб-приложения.
- Чтобы просмотреть сведения, выберите процесс w3wp.exe.
- В консоли Kudu:
- Перейдите на веб-сайт Kudu (
https://*yourwebsitename*.scm.azurewebsites.net). - Откройте меню Обозреватель процессов.
- Откройте меню Свойства процесса w3wp.exe.
- Перейдите на веб-сайт Kudu (
Не удается найти файлы журнала в структуре папок веб-приложения при использовании функции локального кэша службы приложений
Функция локального кэша службы приложений изменяет структуру папок файлов журналов и данных экземпляра службы приложений. При использовании локального кэша в этих папках создаются вложенные папки. Имя вложенных папок состоит из уникального идентификатора, заключенного в двойные кавычки, и метки времени. Каждая вложенная папка соответствует экземпляру виртуальной машины, на котором выполняется или запущено веб-приложение.
Чтобы определить, используется ли локальный кэш, перейдите на вкладку параметров приложения Служба приложений. Если используется локальный кэш, для параметра приложения задано WEBSITE_LOCAL_CACHE_OPTIONзначение Always .
Чтобы включить трассировку неудачных запросов
Чтобы включить трассировку неудачных запросов, выполните следующие действия.
Откройте портал Azure и перейдите к своему веб-приложению.
Выберите Все параметры>Журналы диагностики.
Установите переключатель Трассировка неудачно завершенных запросов в положение Вкл.
Выберите Сохранить.
В колонке веб-приложения выберите Средства.
Выберите Visual Studio Online.
Если параметр не включен, нажмите кнопку "Вкл.".
Выберите Выполнить.
Выберите Web.config.
В system.webServer добавьте следующую конфигурацию (для записи определенного URL-адреса):
<system.webServer> <tracing> <traceFailedRequests> <remove path="*api*" /> <add path="*api*"> <traceAreas> <add provider="ASP" verbosity="Verbose" /> <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" /> <add provider="ISAPI Extension" verbosity="Verbose" /> <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression, Cache,RequestNotifications,Module,FastCGI" verbosity="Verbose" /> </traceAreas> <failureDefinitions statusCodes="200-999" /> </add> </traceFailedRequests> </tracing>Чтобы устранить проблемы, которые приводят к снижению производительности, добавьте следующую конфигурацию (если запись запроса занимает более 30 секунд):
<system.webServer> <tracing> <traceFailedRequests> <remove path="*" /> <add path="*"> <traceAreas> <add provider="ASP" verbosity="Verbose" /> <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" /> <add provider="ISAPI Extension" verbosity="Verbose" /> <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression, Cache,RequestNotifications,Module,FastCGI" verbosity="Verbose" /> </traceAreas> <failureDefinitions timeTaken="00:00:30" statusCodes="200-999" /> </add> </traceFailedRequests> </tracing>Чтобы загрузить трассировки невыполненных запросов в журнал, откройте портал и перейдите на свой веб-сайт.
Выберите Средства>Kudu>Перейти.
В меню выберите Консоль отладки>CMD.
Выберите папку LogFiles, а затем выберите папку, имя которой начинается с W3SVC.
Чтобы открыть XML-файл, щелкните значок карандаша.
Дополнительные рекомендации по повышению производительности и устойчивости
Используйте Application Insights и Azure Monitor для полноценного наблюдения вашего приложения App Service, включая данные телеметрии, трассировку зависимостей и живые метрики.
Если вы развертываете в регионах, поддерживающих зоны доступности, рассмотрите возможность обеспечения избыточности зоны для повышения устойчивости во время региональных сбоев. Дополнительные сведения см. в разделе «Надежность в службе приложений Azure».
Служба приложений проходит регулярное обслуживание, чтобы обеспечить надежность платформы. Для повышения контроля над поведением обновления, особенно в среде службы приложений версии 3, настройте параметры обновления. Дополнительные сведения см. в разделе "Плановое обслуживание" службы приложений Azure.