Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Теперь, когда вы настроили и сконфигурировали оптимизацию кода в приложении, получите доступ и просмотрите полученную аналитику.
Оптимизация кода доступа
Вы можете получить доступ к оптимизации кода с помощью двух основных точек входа:
- Через консолидированную обзорную страницу оптимизаций кода.
- С помощью отдельных ресурсов Application Insights.
Через сводную страницу обзора оптимизаций кода (предварительная версия)
Просмотрите результаты оптимизации кода с помощью страницы обзора оптимизации кода. В этом объединенном обзоре можно получить доступ к результатам нескольких подписок для нескольких ресурсов Application Insights.
Вы можете отфильтровать консолидированные результаты, выполнив поиск поля фильтра или установив следующие фильтры:
| Фильтр | Описание | По умолчанию |
|---|---|---|
| Диапазон времени | Выберите диапазон времени, из которого вы хотите просмотреть результаты оптимизации кода. | Последние 24 часа |
| Должность | Имя роли, назначенное компьютеру служб отчетности или рабочей нагрузке. Можно обновить с помощью конфигурации Application Insights. | Все роли |
| Подписка | Подписка, к которой относится инсайт. Можно выбрать несколько. | Не применимо |
| Application Insights | Ресурс Application Insights, с которым связано приложение. Можно выбрать несколько. | Не применимо |
| Тип аналитики | Тип проблемы, например ЦП, памяти или блокировки. | Все типы |
Затем можно отсортировать столбцы в результатах аналитики в зависимости от требуемого представления, включая:
- Проблема с производительностью
- Полное имя родительского метода
Через отдельные ресурсы Application Insights
Вы можете получить доступ к оптимизации кода, характерным для отдельных ресурсов Application Insights, из меню слева этого ресурса. Нажмите кнопку "Исследование>производительности" и нажмите кнопку "Оптимизация кода" в верхнем меню.
Вы можете отфильтровать консолидированные результаты, выполнив поиск поля фильтра или установив следующие фильтры:
| Фильтр | Описание | По умолчанию |
|---|---|---|
| Диапазон времени | Выберите диапазон времени, из которого вы хотите просмотреть результаты оптимизации кода. | Последние 24 часа |
| Должность | Имя роли, назначенное компьютеру служб отчетности или рабочей нагрузке. Можно обновить с помощью конфигурации Application Insights. | Все роли |
| Тип аналитики | Тип проблемы, например ЦП, памяти или блокировки. | Все типы |
Затем можно отсортировать столбцы в результатах аналитики в зависимости от требуемого представления, включая:
- Проблема с производительностью
- Количество профилей, содержащих эту проблему
- Полное имя родительского метода
Интерпретируйте предполагаемые пиковые процентные значения использования памяти и ЦП
Оценка ЦП и памяти определяется на основе количества действий в приложении. Помимо процента памяти и ЦП, оптимизация кода также включает:
- Фактические размеры выделения (в байтах)
- Разбивка типов, распределенных в ходе вызова
Память
Для памяти это число представляет собой процент всех выделений памяти, сделанных в трассировке. Например, если задача занимает 24% памяти, значит, вы израсходовали 24% всех ресурсов в рамках этого вызова.
ЦП
Для ЦП процент зависит от количества ЦП на компьютере (четыре ядра, восемь ядер и т. д.) и времени трассировки. Возьмём, к примеру, ситуацию, когда ваша трассировка длится 10 секунд и у вас есть 4 процессора: у вас всего 40 секунд процессорного времени. Если в аналитических сведениях говорится, что строка кода использует 5% ресурсов ЦП, это эквивалентно использованию 5% от 40 секунд, или 2 секунды.
Блокировка
Показывает, где потоки потратили время ожидания для таких ресурсов, как операции ввода-вывода, блокировки или спящий режим. Время блокировки указывается в секундах и агрегируется во всех потоках и ядрах, поэтому общая сумма может превышать продолжительность записи, следуя тому же правилу агрегирования, что и метрики ЦП.
Используйте эту метрику для быстрого выявления узких мест задержки, таких как:
- Блокировка конфликтов между потоками
- Синхронные операции ввода-вывода
- Блокировка вызовов в асинхронных операциях
Просмотр аналитики
После сортировки и фильтрации результатов оптимизации кода можно выбрать каждый инсайт, чтобы просмотреть следующие сведения в области:
- Подробное описание анализа ошибок производительности.
- Полный стек вызовов.
- Рекомендации по устранению проблемы с производительностью.
- Временная шкала влияния и порогового значения тренда проблемы.
Выводы
Вкладка "Аналитика " предоставляет следующие возможности:
- Краткое описание выбранной проблемы.
- Текущее состояние использования памяти или ЦП вашего ресурса.
- Рекомендация, созданная с помощью искусственного интеллекта, для устранения проблемы.
Замечание
Если вы не видите аналитических сведений, скорее всего, служба оптимизации кода не заметила узких мест производительности в коде. Продолжайте проверять, появятся ли какие-либо идеи.
Стек вызовов
В области сведений об аналитике под заголовком Стек вызовов вы можете:
- Выберите "Развернуть" , чтобы просмотреть полный стек вызовов, окружающий проблему производительности
- Выберите "Копировать", чтобы скопировать стек вызовов.
Временная шкала
В области сведений в разделе "Временная шкала" можно также просмотреть график с временной шкалой влияния и порогового значения конкретной проблемы производительности. Результаты зависят от заданных фильтров. Например, аналитические сведения о проблеме с производительностью памяти "Неэффективность String.SubString()" за последние 24 часа могут быть следующими.