Что такое Azure Application Insights?
Приложение Аналитика анализирует производительность веб-приложения и может предупреждать вас о потенциальных проблемах.
Для этой функции не требуется специальная настройка, кроме настройки приложения для приложений Аналитика (на ASP.NET, Java или Node.js и в коде веб-страницы). Он активен после создания достаточной телеметрии приложения.
Когда я получаю уведомление об интеллектуальном обнаружении?
Приложение Аналитика отправляет уведомление при обнаружении снижения производительности приложения одним из следующих способов:
- Снижение времени отклика: приложение начало отвечать на запросы медленнее, чем раньше. Изменение может произойти внезапно, например, если в последнем развертывании произошла регрессия, или может произойти постепенное снижение, возможно, из-за утечки памяти.
- Снижение длительности зависимостей: приложение вызывает REST API, базу данных или другую зависимость. Зависимость отвечает медленнее, чем должна.
- Шаблон медленной производительности: у приложения возникает проблема с производительностью, которая влияет только на некоторые запросы. Например, страницы загружаются медленнее в одном типе браузера, чем на других, или запросы обслуживаются медленнее с одного конкретного сервера. Алгоритмы Аналитика приложения смотрят на время загрузки страницы, время отклика запроса и время отклика зависимостей.
Интеллектуальное обнаружение — это функция Аналитика приложения, которая предупреждает о потенциальных проблемах производительности и аномалиях сбоев в веб-приложении. Для создания базового плана требуется по крайней мере восемь дней телеметрии с достаточным объемом. После этого периода времени любая важная проблема создает уведомление.
Всегда ли оповещение означает проблему?
Оповещение не обязательно означает, что у вашего приложения возникла проблема. Это больше предложения о чем-то, что вы можете посмотреть более внимательно.
Разделы справки устранить проблемы?
Каждое уведомление оповещений содержит диагностические сведения. Ниже приведен пример использования этих сведений:
- Для рассмотрения: уведомление показывает, сколько пользователей или сколько операций затронуты. Это поможет назначить приоритет проблемы.
- Чтобы определить область: проблема влияет на весь трафик или только некоторые страницы? Она связана с определенными браузерами или расположениями?
- Для диагностика: Часто диагностические сведения в уведомлении свидетельствуют о характере проблемы. Например, если время отклика замедлится при высокой скорости запроса, что предполагает перегрузку сервера или зависимостей. Если вам нужны дополнительные сведения, откройте раздел Производительность в Application Insights. Там вы найдете данные профилировщика. Если были созданы исключения, можно также попробовать отладчик моментальных снимков.
Настройка уведомлений по электронной почте
Уведомления интеллектуального обнаружения включены по умолчанию и отправляются владельцам, участник и читателям доступ к ресурсу Приложения Аналитика. Чтобы изменить это, выберите "Настроить" в уведомлении электронной почты или откройте параметры интеллектуального обнаружения в приложении Аналитика.
Чтобы прекратить получение Уведомления по электронной почте, можно использовать ссылку отмены подписки в электронной почте интеллектуального обнаружения.
Сообщения электронной почты о аномалиях производительности интеллектуального обнаружения ограничены одной электронной почтой в день на ресурс приложения Аналитика. Сообщение отправляется только в том случае, если в этот день обнаружена по крайней мере одна новая проблема.
Как можно повысить производительность?
Медленные и неудачные ответы разочаровывают пользователей веб-сайта. Важно быстро решить проблемы. Ниже приведены действия по повышению производительности.
- Рассмотрение
- Шаг
- Улучшение
Рассмотрим эти шаги более подробно с точки зрения времени загрузки страницы.
Рассмотрение
При просмотре вопроса, первое, что нужно спросить: имеет ли это значение? Если страница всегда медленно загружается, но только 1% пользователей вашего сайта когда-либо просматривают его, проблема является низкой приоритетом. С другой стороны, если только 1% пользователей открывают страницу, но она создает исключение каждый раз, приоритет является высоким. Используйте инструкцию влияния (затронутых пользователей или процент трафика) в качестве общего руководства, но помните, что влияние не является всей историей. Соберите другие доказательства и рассмотрите параметры проблемы. Если проблема зависит от географического региона, настройте тесты доступности, включающие регион.
Диагностика медленных загрузок страниц
При диагностике проблемы задайте себе следующие вопросы:
- В чем суть проблемы?
- Медленно ли отвечает сервер?
- Длинна ли страница?
- Требуется ли браузеру много работы для отображения этой страницы?
Если вы изучаете время отклика браузера, откройте метрики браузеров . Сегментированные отображение времени загрузки страницы браузера показывает, куда идет время.
- Если время отправки запроса имеет высокий уровень, сервер реагирует медленно или запрос является POST с большим объемом данных. Чтобы узнать время отклика, просмотрите метрики производительности .
- Настройте отслеживание зависимостей, чтобы узнать, связана ли задержка с внешними службами или базой данных.
- Если получение ответа является преобладающим, страница и ее зависимые части — JavaScript, CSS, изображения и т. д. (но не асинхронно загруженные данные) — длинна. Выполните тест доступности и обязательно настройте загрузку зависимых компонентов. После получения результатов откройте сведения и разверните их, чтобы просмотреть показатели времени загрузки различных файлов.
- Высокая скорость обработки клиентов предполагает, что сценарии выполняются медленно. Если причина не очевидна, попробуйте добавить код времени и отправить время в
trackMetric
вызовах.
Улучшение производительности медленных страниц
Ниже приведены некоторые места, чтобы приступить к работе при думать о том, как улучшить медленные страницы:
- Замедление загрузки из-за больших файлов: асинхронная загрузка скриптов и других частей. Используйте объединение скриптов. Разбейте главную страницу на мини-приложения, которые загружают свои данные по отдельности. Не отправляйте обычный старый HTML-код для длинных таблиц; используйте скрипт для запроса данных в формате JSON или другого компактного формата, а затем заполните таблицу.
- Медленные зависимости сервера. Рассмотрим географические расположения компонентов. Например, при использовании Azure веб-сервер и база данных должны быть расположены в одном регионе. Проверьте, не получают ли запросы больше данных, чем требуется. Возможно, поможет кэширование или пакетная обработка.
- Проблемы с емкостью. Просмотрите метрики времени отклика сервера и количество запросов. Если время отклика пиковое значение непропорционально с пиками количества запросов, скорее всего, ваши серверы работают слишком трудно. Рассмотрите возможность увеличения или масштабирования.
Увеличение времени ответа сервера
Уведомление о снижении времени отклика сообщает:
- Время отклика по сравнению с обычным временем отклика для этой операции.
- Сколько пользователей затронуто.
- Среднее время отклика и 90-й процентиль отклика для этой операции в день обнаружения и семь дней до этого.
- Количество запросов операций в день обнаружения и семь дней до этого.
- Корреляция между снижением производительности данной операции и снижением производительности связанных зависимостей.
- Ресурсы, помогающие диагностировать проблему:
- Трассировки профилировщика помогают просматривать время операции (ссылка доступна, если примеры трассировки Профилировщика были собраны для этой операции в течение периода обнаружения).
- Отчеты о производительности в Обозреватель метрик, где можно проверить диапазоны времени и фильтры для этой операции.
- Выполните поиск этого вызова для просмотра определенных свойств вызова.
- Отчеты об ошибках. Если число больше 1, это означает, что в этой операции произошли сбои, которые могли бы привести к снижению производительности.
Увеличение времени отклика зависимостей
Если приложение сильно зависит от внешних служб, рекомендуется следить за снижением зависимостей.
Ниже приведен пример уведомления о снижении зависимостей:
Это говорит вам:
- Длительность по сравнению с обычным временем отклика для этой операции.
- Сколько пользователей затронуто.
- Средняя длительность и 90-й процентиль для этой зависимости в день обнаружения и семь дней до этого.
- Количество вызовов зависимостей в день обнаружения и семь дней до этого.
- Ресурсы, помогающие диагностировать проблему:
- Отчеты о производительности в Обозреватель метрик для этой зависимости.
- Выполните поиск вызовов этой зависимости для просмотра свойств вызова.
- Отчеты об ошибках. При наличии одного или нескольких сбоев это означает, что в течение периода обнаружения произошли сбои вызовов зависимостей, которые могли бы способствовать снижению длительности.
- Откройте аналитику с запросами, которые вычисляют эту длительность и количество зависимостей.
Интеллектуальное обнаружение шаблонов снижения производительности
Приложение Аналитика находит проблемы с производительностью, которые могут повлиять только на некоторые части пользователей или повлиять только на пользователей в некоторых случаях. Например, вы можете увидеть, что медленные загрузки страниц происходят только с одним типом браузера или в заданной географической области.
Аномалии, подобные этим, трудно обнаружить только путем проверки данных, но они более распространены, чем вы можете думать. Часто они возникают только в том случае, если ваши клиенты жалуются.
Алгоритмы Аналитика приложения смотрят на время загрузки страницы, время отклика запроса на сервере и время отклика зависимостей. Чтобы воспользоваться этой возможностью, не нужно устанавливать пороговые значения или настраивать правила. Для обнаружения аномальных шаблонов используются алгоритмы машинного обучения и интеллектуального анализа данных. Ниже приведен пример уведомления:
Поле " Когда отображается время обнаружения проблемы".
В поле "Что такое" описано:
- Обнаружена проблема.
- События, которые привели к поведению проблемы.
Таблица сравнивает плохо выполняющийся набор со средним поведением всех остальных событий.
Выберите ссылки для открытия Обозреватель метрик и поиска, чтобы найти соответствующие отчеты, отфильтрованные по времени и свойствам медленно выполняющегося набора, а затем измените диапазон времени и фильтры для изучения телеметрии.