Rendimiento Herramientas de diagnóstico

Por Mike Rousos

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

Visual Studio Herramientas de diagnóstico

Las herramientas de generación de perfiles y diagnóstico integradas 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 Visual Studio desarrollo. Las herramientas permiten analizar el uso de CPU, el uso de memoria y los eventos de rendimiento en ASP.NET Core aplicaciones. El hecho de estar integrado facilita la generación de perfiles en tiempo de desarrollo.

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

Application Insights

Application Ideas proporciona datos de rendimiento exhaustivos para la aplicación. Los Ideas recopilan automáticamente datos sobre las tasas de respuesta, las tasas de error, los tiempos de respuesta de dependencia, etc. Application Ideas admite el registro de eventos personalizados y métricas específicas de la aplicación.

Aplicación de Azure Ideas proporciona varias maneras de proporcionar información sobre las aplicaciones supervisadas:

  • Mapa de aplicación: ayuda a detectar cuellos de botella de rendimiento o puntos activos de error en todos los componentes de las aplicaciones distribuidas.

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

  • Hoja Rendimiento en Application Ideas Portal:

    • Muestra los detalles de rendimiento de las distintas operaciones en 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.
  • Aplicación de Azure Ideas Profiler permite la generación de perfiles regular y a petición de aplicaciones .NET. Azure Portal muestra los seguimientos de rendimiento capturados con pilas de llamadas y rutas de acceso de acceso. Los archivos de seguimiento también se pueden descargar para un análisis más profundo mediante PerfView.

Los Ideas pueden usarse en una variedad de entornos:

  • Optimizado para funcionar en Azure.
  • Funciona en producción, desarrollo y almacenamiento provisional.
  • 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, vea Application Ideas for ASP.NET Core. Para obtener más información sobre la supervisión sin código, vea Supervisar Azure App Service rendimiento.

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 analizar el uso de CPU, la memoria y el comportamiento de GC, los eventos de rendimiento y el tiempo de 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

Windows Performance Toolkit (WPT) consta de dos componentes: Windows Performance Recorder (WPR) y Windows Analizador de rendimiento (WPA). Las herramientas generan perfiles de rendimiento exhaustivos de Windows sistemas operativos y aplicaciones. WPT tiene formas más eficaces de visualizar los datos, pero su recopilación de datos es menos eficaz que la de 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 se muestran problemas de rendimiento en entornos Linux donde 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 del rendimiento de las aplicaciones .NET Core.