Средства диагностики производительности
Автор: Майк Роусос (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.
- MiniProfiler
- dotTrace и dotMemory из JetBrains
- VTune из Intel
ASP.NET Core