Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
Visual Studio proporciona una variedad de herramientas de generación de perfiles para ayudarle a diagnosticar diferentes tipos de problemas de rendimiento de aplicaciones en función del tipo de aplicación. En este artículo, proporcionamos información para ayudarle a encontrar la herramienta adecuada para su escenario y tipo de aplicación.
Para obtener un enfoque general para optimizar el código mediante las herramientas de generación de perfiles, consulte Caso práctico: Guía para principiantes para optimizar el código.
¿Qué herramienta debo usar?
En la tabla siguiente se enumeran las distintas herramientas que Ofrece Visual Studio y se proporcionan escenarios comunes para elegir la herramienta.
| Herramienta de rendimiento | Descripción | ¿Cuándo usar la herramienta? |
|---|---|---|
| uso de CPU | Muestra dónde pasa tiempo la CPU. | • Inicie una investigación de problemas generales de rendimiento. • Investigar el uso elevado de cpu del servidor. • Investigue escenarios de DevOps, como cuando los pedidos no se pasan al sitio web comercial. • Optimizar el uso de CPU. • Investigar la latencia en las llamadas API. |
| Gráfico de llama | Vista dentro de la herramienta Uso de CPU que proporciona una visualización alternativa del árbol de llamadas. | Investigación de la latencia en llamadas API |
| Ruta de acceso activa | Consulte en la herramienta de Uso de CPU dónde se ha invertido la mayor parte del tiempo del CPU en su aplicación. | Investigación de la latencia en llamadas API |
| Uso de memoria | Muestra la memoria de la aplicación para encontrar problemas como pérdidas de memoria. | • Optimizar el uso de memoria • Investigar la congelación de la interfaz de usuario • Investigar la pérdida de memoria sospechosa (código nativo) |
| Asignación de objetos en .NET | Muestra dónde se asignan los objetos .NET e información sobre la recolección de elementos no utilizados. | • Optimización del uso de memoria de .NET • Análisis de la recolección de elementos no utilizados |
| Instrumentación | Muestra recuentos exactos de llamadas y horas de llamada. | • Necesita una herramienta como Uso de CPU, pero desea recuentos exactos de llamadas y tiempo invertido en funciones en función del tiempo del reloj. • Desea ver el tiempo bloqueado, como el tiempo dedicado a esperar bloqueos. • Nota: Esta herramienta requiere sobrecarga adicional. |
| Contadores de .NET | Informe en directo para contadores de .NET. | • Inicie una investigación de problemas generales de rendimiento. • Desea un seguimiento de métricas basadas en contadores de .NET, como excepciones por segundo, recolección de elementos no utilizados y uso de CPU. |
| BenchmarkDotNet | Informe de pruebas comparativas basadas en BenchmarkDotNet. | • Obtener diferentes visualizaciones de los datos recopilados por BenchmarkDotNet, como el uso de CPU o las asignaciones de memoria, en función del diagnosticador en uso. |
| E/S de archivos | Muestra las operaciones de E/S de archivos y cuánto tiempo tardan y cuántos datos procesan. | Investigación de la inmovilización de la interfaz de usuario |
| Sugerencias de rendimiento | Muestra una medición rápida de la información de rendimiento al interactuar con el código. | Durante la depuración, quiere ver el tiempo transcurrido entre la operación de paso anterior (o punto de interrupción) en el paso o punto de interrupción actual. |
| Visor de eventos | Muestra solicitudes HTTP, mensajes de registro y excepciones. | • Investigar la latencia en las llamadas API • Investigar la aplicación lenta que se ejecuta en un servidor web remoto |
| Asincrónico de .NET | Muestra el uso de async/await en aplicaciones de .NET. | Investigue el problema de rendimiento sospechoso con código asincrónico. |
| Base de datos | Muestra el rendimiento de las consultas de base de datos. | Investigue el rendimiento de las consultas de base de datos que usan ADO.NET o Entity Framework Core. |
| Uso de GPU | Muestra el uso de hardware de alto nivel de la aplicación Direct3D. | Compruebe si el rendimiento de la aplicación está enlazado a cpu o enlazado a GPU. |
| Cronograma de la aplicación | Muestra el rendimiento de la interfaz de usuario para las aplicaciones XAML. | Investigue el rendimiento de la interfaz de usuario en aplicaciones XAML, como el tiempo dedicado a representar fotogramas. |
| IntelliTrace | Herramienta depurador que permite registrar eventos y examinar el estado de la aplicación en varios puntos de ejecución. | Quiere que una herramienta examine el estado de la aplicación en varios puntos, no solo el estado actual de la aplicación. |
¿Qué herramientas se admiten para mi proyecto?
En la tabla siguiente se enumeran las distintas herramientas que Ofrece Visual Studio y los distintos tipos de proyecto con los que puede usarlos:
| Herramienta de rendimiento | .RED | C/C++ | Plataforma Universal de Windows (UWP) | ASP.NET/ASP.NET Core |
|---|---|---|---|---|
| uso de CPU | Sí | Sí | Sí | Sí |
| Uso de memoria | Sí | Sí | Sí | Sí |
| Asignación de objetos en .NET | Sí | No | Sí | Sí |
| Instrumentación | Sí | Sí | Sí | Sí |
| Contadores de .NET | Sí (solo .NET Core/5+) | No | No | Sí (solo ASP.NET Core) |
| BenchmarkDotNet | Sí | No | No | parcial |
| E/S de archivos | Sí | Sí | Sí | Sí |
| Sugerencias de rendimiento | Sí | Sí | Sí | Sí |
| Visor de eventos | Sí | Sí | Sí | Sí |
| Asincrónico de .NET | Sí | No | Sí | Sí |
| Base de datos | Sí (solo .NET Core/5+) | No | No | Sí (solo ASP.NET Core) |
| Uso de GPU | Sí | Sí | Sí | No |
| Cronograma de la aplicación | Sí (XAML) | No | Sí | No |
| Explorador de Rendimiento | No | No | No | No |
| IntelliTrace | .NET solo con Visual Studio Enterprise | No | .NET solo con Visual Studio Enterprise | .NET solo con Visual Studio Enterprise |
La compatibilidad con proyectos de CMake es la misma que la de C++. Para uso de CPU, uso de memoria, E/S de archivos y visor de eventos, puede ejecutar herramientas de generación de perfiles en el proyecto de inicio. Sin embargo, para Instrumentación y uso de GPU, debe establecer el archivo ejecutable como destino en el Perfilador de rendimiento (Alt + F2) seleccionando Ejecutable como Proyecto de Inicio.
La compatibilidad con proyectos de CMake es la misma que la de C++. Sin embargo, debe establecer el archivo ejecutable como destino en el Generador de perfiles de rendimiento (Alt + F2) seleccionando Ejecutable como proyecto de inicio.
¿Qué herramientas se admiten en Linux?
Las siguientes herramientas se admiten con Linux o WSL como plataforma de destino, así como con Windows:
- Uso de CPU
- Seguimiento de asignación de objetos de .NET
- Programación Asíncrona de .NET
- Contadores de .NET
- BenchmarkDotNet
- Visor de eventos
- Base de datos
Aprenda a usar los generadores de perfiles
Los siguientes artículos y entradas de blog proporcionan más información para ayudarle a aprender a usar las herramientas de rendimiento de Visual Studio de forma eficaz.
- Caso práctico: Guía para principiantes sobre la optimización del código
- caso práctico: aislar un problema de rendimiento
- mejorar el rendimiento de Visual Studio con la nueva herramienta de instrumentación
- caso práctico: doble rendimiento en menos de 30 minutos