Средства диагностики производительности

Автор: Майк Роусос (Mike Rousos)

В этой статье перечислены средства диагностики проблем с производительностью в ASP.NET Core.

Средства диагностики Visual Studio

Средства профилирования и диагностики , встроенные в Visual Studio, являются хорошим местом для изучения проблем с производительностью. Эти средства являются мощными и удобными для использования из среды разработки Visual Studio. Средство позволяет анализировать использование ЦП, использование памяти и события производительности в приложениях ASP.NET Core. Встроенный процесс упрощает профилирование во время разработки.

Дополнительные сведения см. в документации по Visual Studio.

Application Insights

Приложение Аналитика предоставляет подробные данные о производительности приложения. Приложение Аналитика автоматически собирает данные о частотах откликов, частотах сбоев, времени отклика зависимостей и т. д. Приложение Аналитика поддерживает ведение журнала пользовательских событий и метрик, относящихся к приложению.

приложение Azure Аналитика предоставляет несколько способов предоставления аналитических сведений о отслеживаемых приложениях:

  • Карта приложений — помогает обнаружить узкие места производительности или горячие точки сбоя во всех компонентах распределенных приложений.

  • Метрики Azure Обозреватель — это компонент Microsoft портал Azure, который позволяет отображать диаграммы, визуально коррелировать тенденции и исследовать пики и спады значений метрик.

  • Колонка "Производительность" на портале приложения Аналитика:

    • Отображает сведения о производительности для различных операций в отслеживаемом приложении.
    • Позволяет выполнять детализацию одной операции для проверка всех частей и зависимостей, которые способствуют длительной длительности.
    • Профилировщик можно вызвать здесь для сбора трассировок производительности по запросу.
  • приложение Azure Аналитика Profiler позволяет регулярно и по запросу профилирование приложений .NET. портал Azure показаны отслеживаемая трассировка производительности стеками вызовов и горячими путями. Файлы трассировки также можно скачать для более глубокого анализа с помощью PerfView.

Аналитика приложения можно использовать в различных средах:

  • Оптимизировано для работы в Azure.
  • Работает в рабочей среде, разработке и промежуточном развертывании.
  • Работает локально из Visual Studio или в других средах размещения.

Дополнительные сведения о мониторинге на основе кода см. в Аналитика приложения для ASP.NET Core. Дополнительные сведения о мониторинге без кода см. в статье "Мониторинг производительности службы приложение Azure".

PerfView

PerfView — это средство анализа производительности, созданное командой .NET специально для диагностики проблем с производительностью .NET. PerfView позволяет анализировать использование ЦП, поведение памяти и GC, события производительности и время настенных часов.

Дополнительные сведения о PerfView см. в руководстве пользователя, доступном в средстве или на сайте GitHub.

Windows Performance Toolkit

Набор средств производительности Windows (WPT) состоит из двух компонентов: средства записи производительности Windows (WPR) и Windows Анализатор производительности (WPA). Средства создают подробные профили производительности операционных систем и приложений Windows. WPT имеет более широкие способы визуализации данных, но его сбор данных менее мощный, чем PerfView.

PerfCollect

Хотя PerfView — это полезное средство анализа производительности для сценариев .NET, оно выполняется только в Windows, поэтому его нельзя использовать для сбора трассировок из приложений ASP.NET Core, работающих в средах Linux.

PerfCollect — это скрипт bash, использующий собственные средства профилирования Linux (Perf и LTTng) для сбора трассировок в Linux, которые можно проанализировать с помощью PerfView. PerfCollect полезно, если проблемы с производительностью отображаются в средах Linux, где PerfView нельзя использовать напрямую. Вместо этого PerfCollect может собирать трассировки из приложений .NET Core, которые затем анализируются на компьютере Windows с помощью PerfView.

Дополнительные сведения об установке и начале работы с PerfCollect доступны на сайте GitHub.

Другие сторонние средства производительности

Ниже перечислены некоторые сторонние средства производительности, которые полезны в исследовании производительности приложений .NET Core.