Compartir a través de


Rendimiento de .NET Framework

Si desea crear aplicaciones con un rendimiento excelente, debe diseñar y planear el rendimiento igual que diseñaría cualquier otra característica de la aplicación. Puede usar las herramientas proporcionadas por Microsoft para medir el rendimiento de la aplicación y, si es necesario, realizar mejoras en el uso de memoria, el rendimiento del código y la capacidad de respuesta. En este tema se enumeran las herramientas de análisis de rendimiento que Proporciona Microsoft y se proporcionan vínculos a otros temas que abarcan el rendimiento de áreas específicas de desarrollo de aplicaciones.

Diseño y planeación del rendimiento

Si quieres una aplicación de gran rendimiento, debes diseñar el rendimiento en la aplicación igual que diseñarías cualquier otra característica. Debe determinar los escenarios críticos para el rendimiento en la aplicación, establecer objetivos de rendimiento y medir el rendimiento de estos escenarios de aplicación en una fase temprana y a menudo. Dado que cada aplicación es diferente y tiene diferentes rutas de ejecución críticas para el rendimiento, determinar esas rutas de acceso al principio y centrar sus esfuerzos le permiten maximizar la productividad.

No es necesario estar completamente familiarizado con la plataforma de destino para crear una aplicación de alto rendimiento. Sin embargo, debe desarrollar una comprensión de qué partes de la plataforma de destino son costosas en términos de rendimiento. Para ello, puede medir el rendimiento al principio del proceso de desarrollo.

Para determinar las áreas que son cruciales para el rendimiento y para establecer los objetivos de rendimiento, tenga siempre en cuenta la experiencia del usuario. El tiempo de inicio y la capacidad de respuesta son dos áreas clave que afectarán a la percepción del usuario de la aplicación. Si la aplicación usa una gran cantidad de memoria, puede parecer lento para el usuario o afectar a otras aplicaciones que se ejecutan en el sistema o, en algunos casos, podría producir un error en el proceso de envío de la Tienda Windows o de la Tienda Windows Phone. Además, si determina qué partes del código se ejecutan con más frecuencia, puede asegurarse de que estas partes del código están bien optimizadas.

Analizar el rendimiento

Como parte del plan de desarrollo general, establezca puntos durante el desarrollo, donde medirá el rendimiento de la aplicación y comparará los resultados con los objetivos establecidos anteriormente. Mida la aplicación en el entorno y el hardware que espera que tengan los usuarios. Al analizar el rendimiento de la aplicación temprano y frecuentemente, puedes cambiar las decisiones de arquitectura que serían difíciles y costosas de corregir más adelante en el ciclo de desarrollo. En las secciones siguientes se describen las herramientas de rendimiento que puede usar para analizar las aplicaciones y analizar el seguimiento de eventos, que estas herramientas usan.

Herramientas de rendimiento

Estas son algunas de las herramientas de rendimiento que puede usar con las aplicaciones de .NET Framework.

Herramienta Descripción
Análisis de rendimiento de Visual Studio Use para analizar el uso de CPU de las aplicaciones de .NET Framework que se implementarán en equipos que ejecutan el sistema operativo Windows.

Esta herramienta está disponible en el menú Depurar de Visual Studio después de abrir un proyecto. Para obtener más información, vea Explorador de rendimiento. Nota: Use el análisis de aplicación de Windows Phone (vea la fila siguiente) si la aplicación está diseñada para Windows Phone.
Análisis de aplicaciones de Windows Phone Usa para analizar la CPU y la memoria, la velocidad de transferencia de datos de red, la capacidad de respuesta de la aplicación y el consumo de batería en las aplicaciones de Windows Phone.

Esta herramienta está disponible en el menú Depurar de un proyecto de Windows Phone en Visual Studio después de instalar el SDK de Windows Phone. Para obtener más información, consulta Generación de perfiles de aplicaciones para Windows Phone 8.
PerfView Use para identificar problemas de rendimiento relacionados con la CPU y la memoria. Esta herramienta usa el seguimiento de eventos para las API de generación de perfiles de Windows (ETW) y CLR para proporcionar investigaciones avanzadas de memoria y CPU, así como información sobre la recolección de elementos no utilizados y la compilación JIT. Para obtener más información sobre cómo usar PerfView, consulte las entradas de blog.
Analizador de rendimiento de Windows Use para determinar el rendimiento general del sistema, como la memoria y el almacenamiento de la aplicación, cuando varias aplicaciones se ejecutan en el mismo equipo. Esta herramienta está disponible en el centro de descarga como parte del Windows Assessment and Deployment Kit (ADK) para Windows 8. Para obtener más información, consulte Analizador de rendimiento de Windows.

Seguimiento de eventos para Windows (ETW)

ETW es una técnica que permite obtener información de diagnóstico sobre la ejecución de código y es esencial para muchas de las herramientas de rendimiento mencionadas anteriormente. ETW crea registros cuando ocurren eventos particulares en las aplicaciones de .NET Framework y en Windows. Con ETW, puedes habilitar y deshabilitar el registro de forma dinámica, de modo que puedas realizar un seguimiento detallado en un entorno de producción sin reiniciar la aplicación. .NET Framework ofrece compatibilidad con eventos ETW y muchas herramientas de generación de perfiles y rendimiento usan ETW para generar datos de rendimiento. Estas herramientas suelen habilitar y deshabilitar eventos ETW, por lo que es útil familiarizarse con ellas. Puedes usar eventos ETW específicos para recopilar información de rendimiento sobre determinados componentes de la aplicación. Para obtener más información sobre la compatibilidad con ETW en .NET Framework, vea Eventos ETW en Common Language Runtime y eventos ETW en la biblioteca paralela de tareas y PLINQ.

Rendimiento por tipo de aplicación

Cada tipo de aplicación de .NET Framework tiene sus propios procedimientos recomendados, consideraciones y herramientas para evaluar el rendimiento. En la tabla siguiente se incluyen vínculos a temas de rendimiento para determinados tipos de aplicaciones de .NET Framework.

Tipo de aplicación Vea
Aplicaciones de .NET Framework para todas las plataformas Recolección de elementos no utilizados y rendimiento

Sugerencias de rendimiento
Aplicaciones de la Tienda Windows 8.x escritas en C++, C# y Visual Basic Procedimientos recomendados de rendimiento para aplicaciones de la Tienda Windows con C++, C# y Visual Basic
Windows Presentation Foundation (WPF) WPF Performance Suite
ASP.NET Información general sobre el rendimiento de ASP.NET
Título Descripción
Almacenamiento en caché en aplicaciones de .NET Framework Describe técnicas para almacenar datos en caché para mejorar el rendimiento de la aplicación.
Inicialización diferida Describe cómo inicializar objetos según sea necesario para mejorar el rendimiento, especialmente en el inicio de la aplicación.
Confiabilidad Proporciona información sobre cómo evitar excepciones asincrónicas en un entorno de servidor.
Escritura de aplicaciones de .NET Framework grandes y con capacidad de respuesta Proporciona sugerencias de rendimiento recopiladas de la reescritura de los compiladores de C# y Visual Basic en código administrado e incluye varios ejemplos reales del compilador de C#.