Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Некоторые из следующих рекомендаций могут работать только в службах приложений Windows или Linux. Например, службы приложений Linux по умолчанию работают в 64-разрядном режиме.
Сводка
В этой статье приведены ответы на часто задаваемые вопросы о проблемах производительности приложений в веб-приложениях службы приложений Azure.
Где можно просмотреть сведения о квотах и ограничениях для различных планов службы приложений?
Сведения о квотах и ограничениях см. в статье Ограничения службы приложений App Service.
План службы приложений, отображающий использование ЦП и памяти даже при остановке всех веб-приложений
служба приложение Azure требует непрерывного системного процесса, обрабатывающего несколько операций и функций платформы, таких как обновления системы безопасности, доступность консоли SCM, мониторинг приложений, проверка подлинности и многие другие важные функции веб-приложения.
Системные процессы будут выполняться в рамках планов службы приложений, даже если веб-приложения не запущены или если план службы приложений не содержит веб-приложений.
Процессы платформы будут потреблять минимальный объём ресурсов (например, ЦП, памяти и дискового пространства), и это необходимо учитывать при планировании ёмкости, мониторинге и настройке триггеров автомасштабирования для плана службы приложений.
Производительность приложения замедляется
На снижение производительности приложения могут влиять несколько факторов. Пошаговые инструкции по устранению неполадок см. в разделе Устранение неполадок, связанных с низкой производительностью веб-приложения.
Подсказка
- Включите параметр AlwaysOn вразделе "Общие параметры конфигурации>", чтобы сохранить приложение теплым и избежать холодных запусков. Это помогает сократить задержку после простоя, особенно в базовых и более высоких планах.
- Настройте путь проверки работоспособности для отслеживания работоспособности приложения и автоматической замены неответственных экземпляров. Это помогает поддерживать доступность и производительность. Для получения дополнительной информации см. Мониторинг экземпляров службы приложений с помощью проверки работоспособности.
Как устранить неполадки с высоким потреблением ЦП?
В некоторых сценариях с высоким уровнем потребления ресурсов ЦП приложение действительно требует большего объема вычислительных ресурсов. В этом случае мы советуем выбрать более высокий уровень служб, за счет чего приложение получит все необходимые ресурсы. Кроме того, причиной высокого уровня потребления ресурсов ЦП может стать неправильный цикл или процедура кодирования. Чтобы определить причину более активного использования ресурсов ЦП, необходимо выполнить два действия. Сначала создайте дамп процесса, а затем проанализируйте его. Дополнительные сведения см. в статье Сбор и анализ файла дампа при высокой загрузке ЦП для веб-приложений.
Как устранить неполадки с высоким потреблением памяти?
В некоторых сценариях с высоким уровнем потребления памяти приложение действительно требует большего объема вычислительных ресурсов. В этом случае мы советуем выбрать более высокий уровень служб, за счет чего приложение получит все необходимые ресурсы. Иногда ошибка в коде может вызывать утечку памяти. Практика кодирования также может увеличить потребление памяти. Чтобы определить причину активного использования памяти, необходимо выполнить два действия. Сначала создайте дамп процесса, а затем проанализируйте дамп процесса. Средство диагностики сбоев из галереи расширений сайтов Azure может эффективно выполнять оба этих шага. Дополнительные сведения см. в статье Создание и анализ файла дампа при периодически возникающем высоком потреблении памяти в веб-приложениях.
Как автоматизировать задачи веб-приложений службы приложений с помощью PowerShell?
Настроить веб-приложения службы приложений и управлять ими можно с помощью командлетов PowerShell. В записи блога Automate web apps hosted in Служба приложений Azure 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 (
Не удается найти файлы журнала в структуре папок веб-приложения при использовании функции локального кэша службы приложений
Функция локального кэша службы приложений изменяет структуру папок файлов журналов и данных экземпляра службы приложений. При использовании локального кэша в папках хранения LogFiles и Data создаются подпапки. Во вложенных папках используется шаблон именования: "уникальный идентификатор" + временная метка. Каждая вложенная папка соответствует экземпляру виртуальной машины, на котором выполняется или запущено веб-приложение.
Чтобы определить, используется ли локальный кэш, перейдите на вкладку параметров приложения Служба приложений. Если используется локальный кэш, для параметра приложения задано 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.