Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Автор: Майк Роусос (Mike Rousos)
В этой статье перечислены средства диагностики проблем с производительностью в ASP.NET Core.
Средства диагностики Visual Studio
Средства профилирования и диагностики , встроенные в Visual Studio, являются хорошим местом для изучения проблем с производительностью. Эти средства являются мощными и удобными для использования из среды разработки Visual Studio. Средство позволяет анализировать использование ЦП, использование памяти и события производительности в приложениях ASP.NET Core. Встроенность облегчает профилирование во время разработки.
Дополнительные сведения см. в документации по Visual Studio.
Application Insights
Application Insights предоставляет подробные данные о производительности приложения. Application Insights автоматически собирает данные о скоростях ответа, частоте сбоев, времени отклика зависимостей и т. д. Application Insights поддерживает ведение журнала пользовательских событий и метрик, относящихся к приложению.
Azure Application Insights предоставляет несколько способов предоставления аналитических сведений о отслеживаемых приложениях:
Карта приложений — помогает обнаружить узкие места производительности или горячие точки сбоя во всех компонентах распределенных приложений.
Обозреватель метрик Azure — это компонент портала Microsoft Azure, который позволяет отображать диаграммы, визуально сопоставлять тенденции и исследовать пики и спады значений метрик.
Панель производительности на портале Application Insights
- Отображает сведения о производительности для различных операций в отслеживаемом приложении.
- Позволяет углубиться в одну операцию для проверки всех частей и зависимостей, которые способствуют увеличению длительности.
- Профилировщик можно вызвать здесь для сбора трассировок производительности по запросу.
Azure Application Insights Profiler позволяет регулярно и по запросу профилирование приложений .NET. На портале Azure отображаются зафиксированные трассировки производительности с вызовами функций и горячими путями. Файлы трассировки также можно скачать для более глубокого анализа с помощью PerfView.
Application Insights можно использовать в различных средах:
- Оптимизировано для работы в Azure.
- Работает в продакшене, разработке и стейджинге.
- Работает локально из Visual Studio или в других средах размещения.
Дополнительные сведения о мониторинге на основе кода см. в Application Insights для ASP.NET Core. Дополнительные сведения о мониторинге без кода см. в статье "Мониторинг производительности службы приложений Azure".
PerfView
PerfView — это средство анализа производительности, созданное командой .NET специально для диагностики проблем с производительностью .NET. PerfView позволяет анализировать использование ЦП, поведение памяти и GC, события производительности и время настенных часов.
Дополнительные сведения о PerfView см. в руководстве пользователя, доступном в средстве или на сайте GitHub.
Набор инструментов для оптимизации производительности Windows
Набор средств производительности 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