Compartir vía


Herramientas de diagnóstico de rendimiento

Por Mike Rousos

En este artículo se enumeran las herramientas para diagnosticar problemas de rendimiento en ASP.NET Core.

Para obtener información sobre Blazor WebAssembly las herramientas y contadores de diagnóstico de rendimiento, consulte ASP.NET Core Blazor WebAssembly diagnósticos de las herramientas de desarrollo de exploradores y diagnósticos de canalización de eventos de ASP.NET Core Blazor WebAssembly.

Visual Studio Herramientas de Diagnóstico

Las herramientas de generación de perfiles y diagnóstico integradas en Visual Studio son un buen lugar para empezar a investigar problemas de rendimiento. Estas herramientas son eficaces y cómodas de usar desde el entorno de desarrollo de Visual Studio. Las herramientas permiten el análisis del uso de CPU, el uso de memoria y los eventos de rendimiento en aplicaciones ASP.NET Core. El hecho de estar integrado hace que el perfilado sea fácil en tiempo de desarrollo.

Puede encontrar más información en la documentación de Visual Studio.

Application Insights

Application Insights proporciona datos de rendimiento detallados para la aplicación. Application Insights recopila automáticamente datos sobre las tasas de respuesta, las tasas de error, los tiempos de respuesta de dependencia y mucho más. Application Insights admite el registro de eventos personalizados y métricas específicos de la aplicación.

Azure Application Insights proporciona varias maneras de proporcionar información sobre las aplicaciones supervisadas:

  • Mapa de aplicaciones – ayuda a detectar cuellos de botella de rendimiento o zonas conflictivas de fallos en todos los componentes de las aplicaciones distribuidas.

  • El Explorador de métricas de Azure es un componente de Microsoft Azure Portal que permite trazar gráficos, correlacionar visualmente tendencias e investigar picos y caídas en los valores de las métricas.

  • Hoja de rendimiento en el portal de Información de Aplicaciones:

    • Muestra los detalles de rendimiento de las distintas operaciones de la aplicación supervisada.
    • Permite profundizar en una sola operación para comprobar todas las partes o dependencias que contribuyen a una larga duración.
    • Profiler se puede invocar desde aquí para recopilar seguimientos de rendimiento a petición.
  • Azure Application Insights Profiler permite la generación de perfiles normales y a petición de aplicaciones .NET. Azure Portal muestra seguimientos de rendimiento capturados con pilas de llamadas y rutas críticas. Los archivos de seguimiento también se pueden descargar para un análisis más profundo mediante PerfView.

Application Insights se puede usar en diversos entornos:

  • Optimizado para trabajar en Azure.
  • Trabaja en producción, desarrollo y ensayo.
  • Funciona localmente desde Visual Studio o en otros entornos de hospedaje.

Para obtener más información sobre la supervisión basada en código, consulte Application Insights para ASP.NET Core. Para más información sobre la supervisión sin código, consulte Supervisión del rendimiento de Azure App Service.

PerfView

PerfView es una herramienta de análisis de rendimiento creada por el equipo de .NET específicamente para diagnosticar problemas de rendimiento de .NET. PerfView permite el análisis del uso de CPU, la memoria y el comportamiento de GC, los eventos de rendimiento y el tiempo del reloj.

Para obtener más información sobre PerfView, consulte la guía del usuario disponible en la herramienta o en GitHub.

Windows Performance Toolkit (Kit de Herramientas de Rendimiento de Windows)

Windows Performance Toolkit (WPT) consta de dos componentes: Windows Performance Recorder (WPR) y Windows Performance Analyzer (WPA). Las herramientas generan perfiles de rendimiento detallados de aplicaciones y sistemas operativos Windows. WPT tiene formas más enriquecidas de visualizar datos, pero su recopilación de datos es menos eficaz que perfView.

PerfCollect

Aunque PerfView es una herramienta de análisis de rendimiento útil para escenarios de .NET, solo se ejecuta en Windows, por lo que no se puede usar para recopilar seguimientos de aplicaciones de ASP.NET Core que se ejecutan en entornos Linux.

PerfCollect es un script de Bash que usa herramientas nativas de generación de perfiles de Linux (Perf y LTTng) para recopilar seguimientos en Linux que PerfView puede analizar. PerfCollect es útil cuando los problemas de rendimiento se muestran en entornos linux en los que PerfView no se puede usar directamente. En su lugar, PerfCollect puede recopilar seguimientos de aplicaciones de .NET Core que luego se analizan en un equipo Windows mediante PerfView.

Puede encontrar más información sobre cómo instalar y empezar a trabajar con PerfCollect en GitHub.

Otras herramientas de rendimiento de terceros

A continuación se enumeran algunas herramientas de rendimiento de terceros que son útiles en la investigación de rendimiento de las aplicaciones de .NET Core.