Solución de problemas de rendimiento de máquinas virtuales Windows mediante la herramienta de la CLI de Diagnóstico de rendimiento (PerfInsights)
Se aplica a: ✔️ Máquinas virtuales de Windows
La extensión Diagnósticos de rendimiento (PerfInsights) es una herramienta de diagnóstico de autoayuda que recopila y analiza los datos de diagnóstico y proporciona un informe para ayudar a solucionar problemas de rendimiento de máquinas virtuales (VM) Windows en Azure. Use Diagnósticos de rendimiento para identificar y solucionar problemas de rendimiento en uno de los dos modos:
- Los diagnósticos continuos (versión preliminar) recopilan datos a intervalos de cinco segundos e informa información útil sobre el uso elevado de recursos cada cinco minutos.
- Los diagnósticos a petición le ayudan a solucionar un problema de rendimiento continuo con datos, conclusiones y recomendaciones más detallados en función de los datos recopilados en un único momento dado.
En este artículo se explica cómo descargar la extensión Diagnósticos de rendimiento en la máquina virtual Windows y ejecutar la herramienta mediante la herramienta de la CLI. También puede ejecutar diagnósticos de rendimiento desde el portal e implementar la extensión Diagnósticos de rendimiento mediante una plantilla de ARM o PowerShell.
Si tiene problemas de rendimiento con máquinas virtuales, antes de ponerse en contacto con el soporte técnico, ejecute Diagnósticos de rendimiento.
Escenarios admitidos de solución de problemas
Puede usar Diagnósticos de rendimiento para solucionar diversos escenarios. En las secciones siguientes se describen escenarios comunes para usar diagnósticos de rendimiento continuos y a petición para identificar y solucionar problemas de rendimiento. Para obtener una comparación de diagnósticos de rendimiento continuos y a petición, consulte Información e informes de diagnóstico de rendimiento.
Nota:
Para obtener información sobre el uso de PerfInsights en un conjunto de escalado de máquinas virtuales de Azure, consulte PerfInsights y instancias de máquina virtual del conjunto de escalado.
Diagnóstico continuo
Los diagnósticos de rendimiento continuo le permiten identificar un uso elevado de los recursos mediante la supervisión periódica de la máquina virtual para:
- Uso elevado de la CPU: detecta periodos de uso elevado de la CPU y muestra los principales consumidores de la CPU durante dichos periodos.
- Uso elevado de memoria: detecta periodos de uso de memoria elevados y muestra los principales consumidores de memoria durante dichos periodos.
- Uso elevado del disco: detecta periodos de uso elevado de los discos físicos y muestra los principales consumidores de los discos durante dichos periodos.
Diagnóstico a petición
Análisis rápido
En este escenario se recopila la configuración de disco y otra información importante, lo que incluye:
Registros de eventos
Estado de la red para todas las conexiones entrantes y salientes
Opciones de configuración de red y de firewall
Lista de tareas para todas las aplicaciones que se ejecutan actualmente en el sistema
Opciones de configuración de base de datos de Microsoft SQL Server (si la máquina virtual se identifica como un servidor que ejecuta SQL Server)
Contadores de confiabilidad de almacenamiento
Revisiones importantes de Windows
Controladores de filtro instalados
Se trata de un conjunto de información pasiva que no debería afectar al sistema.
Nota:
Este escenario se incluye automáticamente en cada uno de los escenarios siguientes.
Pruebas comparativas
En este escenario se ejecuta el banco de pruebas Diskspd (IOPS y MBPS) para todas las unidades conectadas a la máquina virtual.
Nota:
Este escenario puede afectar al sistema y no se debe ejecutar en un sistema de producción activo. Si es necesario, ejecute este escenario en una ventana de mantenimiento dedicada para evitar cualquier problema. Un aumento de la carga de trabajo debido a una prueba de seguimiento o a un banco de pruebas puede afectar negativamente al rendimiento de la máquina virtual.
Análisis de rendimiento
En este escenario se ejecuta un seguimiento de contador de rendimiento mediante los contadores que se especifican en el archivo RuleEngineConfig.json. Si la máquina virtual se identifica como un servidor en el que se ejecuta SQL Server, se ejecuta un seguimiento del contador de rendimiento. Para ello, se usan los contadores que se encuentran en el archivo RuleEngineConfig.json. Este escenario también incluye datos de diagnóstico de rendimiento.
Análisis de Azure Files
En este escenario se ejecuta una captura especial del contador de rendimiento junto con un seguimiento de red. Dicha captura incluye todos los contadores de recursos compartidos de cliente de Bloque de mensajes del servidor (SMB). Los siguientes son algunos contadores de rendimiento de recursos compartidos de cliente de SMB clave que forman parte de la captura:
Tipo | Contador de recursos compartidos de cliente de SMB |
---|---|
E/S | Solicitudes de datos por segundo |
Solicitudes de lectura por segundo | |
Solicitudes de escritura por segundo | |
Latencia | Media de solicitud de datos por segundo |
Media de lectura por segundo | |
Media de escritura por segundo | |
Tamaño de E/S | Prom. de bytes/solicitud de datos |
Prom. de bytes/lectura | |
Prom. Bytes/escritura | |
Rendimiento | Bytes de datos por segundo |
Bytes de lectura por segundo | |
Bytes de escritura por segundo | |
Longitud de la cola | Prom. Longitud de la cola de lectura |
Prom. Longitud de la cola de escritura | |
Prom. Longitud de la cola de datos |
Análisis avanzado del rendimiento
Al ejecutar un análisis avanzado del rendimiento, seleccione seguimientos que se ejecuten en paralelo. Si lo desea, puede ejecutarlos todos (Contador de rendimiento, Xperf, Red y StorPort).
Nota:
Este escenario puede afectar al sistema y no se debe ejecutar en un sistema de producción activo. Si es necesario, ejecute este escenario en una ventana de mantenimiento dedicada para evitar cualquier problema. Un aumento de la carga de trabajo debido a una prueba de seguimiento o a un banco de pruebas puede afectar negativamente al rendimiento de la máquina virtual.
¿Qué información recopila diagnósticos de rendimiento en Windows?
Se recopila información acerca de la máquina virtual Windows, la configuración de discos o bloques de almacenamiento, contadores de rendimiento, registros y diferentes seguimientos. Depende del escenario de rendimiento que use. En la tabla siguiente se dan los detalles:
Datos recopilados | Análisis rápido del rendimiento | Pruebas comparativas | Análisis de rendimiento | Análisis de Azure Files | Análisis avanzado del rendimiento |
---|---|---|---|---|---|
Información de los registros de eventos | Sí | Sí | Sí | Sí | Sí |
Información del sistema | Sí | Sí | Sí | Sí | Sí |
Asignación de volúmenes | Sí | Sí | Sí | Sí | Sí |
Asignación de discos | Sí | Sí | Sí | Sí | Sí |
Tareas en ejecución | Sí | Sí | Sí | Sí | Sí |
Contadores de confiabilidad de almacenamiento | Sí | Sí | Sí | Sí | Sí |
Información de almacenamiento | Sí | Sí | Sí | Sí | Sí |
Salida de fsutil | Sí | Sí | Sí | Sí | Sí |
Información del controlador del filtro | Sí | Sí | Sí | Sí | Sí |
Salida de netstat | Sí | Sí | Sí | Sí | Sí |
Configuración de red | Sí | Sí | Sí | Sí | Sí |
Configuración del firewall | Sí | Sí | Sí | Sí | Sí |
Configuración de SQL Server | Sí | Sí | Sí | Sí | Sí |
Seguimientos de diagnóstico de rendimiento * | Sí | Sí | Sí | Sí | Sí |
Seguimiento de contadores de rendimiento ** | Sí | Sí | |||
Seguimiento del contador de SMB ** | Sí | ||||
Seguimiento del contador de SQL Server ** | Sí | Sí | |||
Seguimiento de Xperf | Sí | ||||
Seguimiento de StorPort | Sí | ||||
Seguimiento de la red | Sí | Sí | |||
Seguimiento del banco de pruebas Diskspd*** | Sí | ||||
Seguimiento del diagnóstico de rendimiento (*)
Se ejecuta un motor basado en reglas en segundo plano para recopilar datos y diagnosticar problemas de rendimiento en curso. Las reglas se muestran en el informe de la pestaña Categoría -> Resultado.
Cada regla consta de los siguientes elementos:
- Resultado: Descripción del resultado.
- Recomendación: Recomendación de qué acción se podría llevar a cabo para el resultado. También hay vínculos de referencia a la documentación que contiene más información sobre la búsqueda o recomendación.
- Nivel de impacto: Indica el potencial de que afecte al rendimiento.
Actualmente se admiten las categorías de reglas siguientes:
- Uso elevado de recursos:
- Uso elevado de la CPU: detecta periodos de uso elevado de la CPU y muestra los principales consumidores de la CPU durante dichos periodos.
- Uso elevado de memoria: detecta periodos de uso de memoria elevados y muestra los principales consumidores de memoria durante dichos periodos.
- Uso elevado del disco: detecta periodos de uso elevado de los discos físicos y muestra los principales consumidores de los discos durante dichos periodos.
- Uso del disco de alta resolución: muestra métricas de IOPS, rendimiento y latencia de E/S por 50 milisegundos de cada disco físico. Ayuda a identificar rápidamente los períodos de limitación de disco.
- Knowledge Base: detecta si no se instalan artículos específicos de Knowledge Base (KB).
- Disco: Detecta opciones de configuración específicas de los discos.
- SQL: Detecta configuraciones específicas de SQL.
- Red: Detecta configuraciones específicas de red.
- Clúster de servidores: Detecta opciones de configuración específicas de clúster de servidores.
- Sistema: Detecta opciones de configuración específicas del sistema.
- CLR: Detecta pausas largas de recolección de elementos no utilizados en los procesos administrados.
Nota:
Actualmente, se admiten las versiones de Windows que incluyen .NET Framework 4.5 o versiones posteriores.
Seguimiento de contadores de rendimiento (\*\*)
Recopila los siguientes contadores de rendimiento:
- \System, \Process, \Processor, \Memory, \Thread, \PhysicalDisk y \LogicalDisk
- \Cache\Dirty Pages, \Cache\Lazy Write Flushes/sec, \Server\Pool Nonpaged, Failures y \Server\Pool Paged Failures
- Contadores seleccionados en \Network Interface, \IPv4\Datagrams, \IPv6\Datagrams, \TCPv4\Segments, \TCPv6\Segments, \Network Adapter, \WFPv4\Packets, \WFPv6\Packets, \UDPv4\Datagrams, \UDPv6\Datagrams, \TCPv4\Connection, \TCPv6\Connection, \Network QoS Policy\Packets, \Per Processor Network Interface Card Activity y \Microsoft Winsock BSP
Para instancias de SQL Server
- \SQL Server:Buffer Manager, \SQLServer:Resource Pool Stats y \SQLServer:SQL Statistics\
- \SQLServer:Locks, \SQLServer:General, Statistics
- \SQLServer:Access Methods
Para Azure Files
\Recursos compartidos de cliente de SMB
Seguimiento del banco de pruebas Diskspd (***)
Pruebas de carga de trabajo de E/S de Diskspd [disco del sistema operativo (escritura) y unidades de grupo (lectura/escritura)]
Ejecución de diagnósticos de rendimiento en la máquina virtual mediante la herramienta cli
¿Qué es necesario saber antes de ejecutar la herramienta?
Requisitos de la herramienta
Esta herramienta se debe ejecutar en la máquina virtual que tiene el problema de rendimiento.
Se admiten los siguientes sistemas operativos:
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- Windows 11
- Windows 10
Acceso a SQL Server
Si la máquina virtual tiene instaladas instancias de SQL Server, PerfInsights usa la cuenta NT AUTHORITY\SYSTEM para acceder a las instancias de SQL Server para recopilar información de configuración y ejecutar reglas. La cuenta NT AUTHORITY\SYSTEM debe tener el permiso Ver estado del servidor y conectar el permiso SQL para cada instancia; de lo contrario, PerfInsights no podrá conectarse a SQL Server y el informe de PerfInsights no mostrará ninguna información relacionada con SQL Server.
Posibles problemas al ejecutar la herramienta en máquinas virtuales de producción
Tanto en los escenarios de pruebas comparativas como en el de "Análisis avanzado del rendimiento" que está configurado para usar Xperf o Diskspd, la herramienta podría afectar de manera negativa al rendimiento de la VM. Estos escenarios no se deben ejecutar en un entorno de producción en vivo.
Tanto en los escenarios de pruebas comparativas como en el de "Análisis avanzado del rendimiento" que está configurado para usar Diskspd, asegúrese de que ninguna otra actividad en segundo plano interfiera con la carga de trabajo de E/S.
De forma predeterminada, la herramienta usa la unidad de almacenamiento temporal para recopilar los datos. Si el seguimiento permanece habilitado durante más tiempo, es posible que la cantidad de datos que se recopilan sea relevante. Esto puede reducir la disponibilidad de espacio en el disco temporal, lo que puede afectar a las aplicaciones que usen esta unidad.
¿Cómo se puede ejecutar PerfInsights?
Para ejecutar PerfInsights en una máquina virtual es preciso instalar la extensión de máquina virtual de diagnóstico de rendimiento de Azure. También puede ejecutarla como una herramienta independiente.
Instalación y ejecución de PerfInsights desde Azure Portal
Para más información acerca de esta opción, consulte Instalación de la extensión de diagnóstico de rendimiento.
Ejecución de PerfInsights en modo independiente
Para ejecutar la herramienta PerfInsights, siga estos pasos:
Descargue PerfInsights.zip.
Desbloquee el archivo PerfInsights.zip. Para ello, haga clic con el botón derecho en el archivo PerfInsights.zip y seleccione Propiedades. En la pestaña General, seleccione Desbloquear y haga clic en Aceptar. Esta acción garantiza que la herramienta se ejecuta sin advertencias de seguridad adicionales.
Expanda el archivo PerfInsights.zip comprimido en una unidad temporal (de forma predeterminada, suele ser la unidad D).
Abra el símbolo del sistema de Windows como administrador y, a continuación, ejecute PerfInsights.exe para ver los parámetros de línea de comandos disponibles.
cd <the path of PerfInsights folder> PerfInsights
La sintaxis básica para ejecutar los escenarios de PerfInsights es:
PerfInsights /run <ScenarioName> [AdditionalOptions]
Busque todos los escenarios y opciones disponibles mediante el comando /list :
PerfInsights /list
Estos son ejemplos de cómo usar la herramienta de la CLI para ejecutar los distintos escenarios de solución de problemas:
Ejecute diagnósticos de rendimiento continuo:
PerfInsights /run always on /sau
Para detener el diagnóstico de rendimiento continuo, presione Ctrl+C o cierre el terminal.
Ejecute el escenario de análisis de rendimiento durante 5 minutos:
PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics
Ejecute el escenario avanzado con seguimientos de contadores de rendimiento y Xperf durante 5 minutos:
PerfInsights /run advanced xp /d 300 /AcceptDisclaimerAndShareDiagnostics
Ejecute el escenario de pruebas comparativas durante 5 minutos:
PerfInsights /run benchmark /d 300 /AcceptDisclaimerAndShareDiagnostics
Ejecute el escenario de análisis de rendimiento durante 5 minutos y cargue el archivo ZIP de resultados en la cuenta de almacenamiento:
PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics /sa <StorageAccountName> /sk <StorageAccountKey>
Nota:
Antes de ejecutar un escenario, PerfInsights pide al usuario que acepte compartir información de diagnóstico y que acepte los términos de licencia. Use la opción /AcceptDisclaimerAndShareDiagnostics para omitir estos mensajes.
Si tiene una incidencia de soporte técnico activa con Microsoft y ejecuta PerfInsights a petición del ingeniero de soporte técnico con el que trabaja, asegúrese de proporcionar el número de la incidencia mediante la opción /sr.
De forma predeterminada, PerfInsights intenta actualizarse a la versión más reciente, si está disponible. Use el parámetro /SkipAutoUpdate o /sau para omitir la actualización automática.
Si no se especifica el modificador de duración /d, PerfInsights le pide que reproduzca el problema mientras se ejecutan los escenarios vmslow, azurefiles y advanced.
Cuando las operaciones o los seguimientos se completan, aparece un nuevo archivo en la misma carpeta que PerfInsights. El nombre del archivo es PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip. Puede enviar este archivo al agente de soporte técnico para que lo analice o abrir el informe dentro del archivo ZIP para revisar las conclusiones y recomendaciones.
Revisión del informe de diagnóstico
En el archivo PerformanceDiagnostics_aaaa-MM-dd_hh-mm-ss-fff.zip, puede encontrar un informe HTML en el que se detallan las conclusiones de PerfInsights. Para revisar el informe, expanda el archivo PerformanceDiagnostics_aaaa-MM-dd_hh-mm-ss-fff.zip y después abra el archivo PerfInsights Report.html.
Haga clic en la pestaña Conclusiones.
Nota:
Las conclusiones clasificadas como altas son problemas conocidos que pueden provocar problemas de rendimiento. Las conclusiones clasificadas como medias representan configuraciones no óptimas que no provocan necesariamente problemas de rendimiento. Las conclusiones clasificadas como bajas son solo declaraciones informativas.
Revise las recomendaciones y los vínculos de todas las conclusiones altas y medias. Aprenda cómo pueden afectar al rendimiento, así como los procedimientos recomendados para las configuraciones con optimización del rendimiento.
Pestaña Almacenamiento
La sección Conclusiones muestra diversas conclusiones y recomendaciones relacionadas con el almacenamiento.
En las secciones Disk Map (Mapa de discos) y Volume Map (Mapa de volúmenes) se describe la relación que los volúmenes lógicos y los discos físicos tienen entre sí.
En la perspectiva de los discos físicos (Disk Map), la tabla muestra todos los volúmenes lógicos que se ejecutan en el disco. En el ejemplo siguiente, PhysicalDrive2 ejecuta dos volúmenes lógicos creados en varias particiones (J y H):
En la perspectiva de los volúmenes (Volume Map), las tablas muestran todos los discos físicos en cada volumen lógico. Observe que en el caso de los discos RAID y dinámicos, un volumen lógico se puede ejecutar en varios discos físicos. En el ejemplo siguiente, C:\mount es un punto de montaje configurado como SpannedDisk en los discos físicos 2 y 3:
Pestaña SQL
Si la máquina virtual de destino hospeda alguna instancia de SQL Server, en el informe verá una pestaña adicional denominada SQL:
Esta sección contiene una pestaña Conclusiones y pestañas adicionales para cada una de las instancias de SQL Server hospedadas en la máquina virtual.
La pestaña Conclusiones contiene una lista de todos los problemas de rendimiento relacionados con SQL encontrados, junto con las recomendaciones.
En el ejemplo siguiente, se muestra PhysicalDrive0 (que se ejecuta en la unidad C). En el ejemplo siguiente, los archivos modeldev y modellog se encuentran en la unidad C y son de tipos diferentes (archivo de datos y registro de transacciones, respectivamente).
Las pestañas de las instancias concretas de SQL Server contienen una sección general que muestra información básica acerca de la instancia seleccionada. Las pestañas también contienen secciones adicionales para información avanzada, lo que incluye los ajustes, las configuraciones y las opciones de usuario.
Pestaña Diagnóstico
La pestaña Diagnóstico contiene información sobre los principales consumidores de CPU, disco y memoria en el equipo durante la ejecución del diagnóstico de rendimiento. También puede encontrar información acerca de las revisiones críticas que podría necesitar el sistema, la lista de tareas y los eventos importantes del sistema.
Referencias a las herramientas externas usadas
Diskspd
Diskspd es un generador de carga de almacenamiento y una herramienta de prueba de rendimiento de Microsoft. Para más información, consulte Diskspd.
Xperf
Xperf es una herramienta de línea de comandos para capturar seguimientos desde Windows Performance Toolkit. Para más información, consulte Windows Performance Toolkit -Xperf.
Pasos siguientes
Puede cargar los registros e informes de diagnóstico en el Soporte técnico de Microsoft para que examinen con mayor profundidad. En el servicio de soporte técnico pueden solicitarle que transmita el resultado que genera PerfInsights para facilitarles el proceso de solución de los problemas.
La siguiente captura de pantalla muestra un mensaje similar al que puede recibir:
Siga las instrucciones del mensaje para acceder al área de trabajo de transferencia de archivos. Para mayor seguridad, tiene que cambiar la contraseña la primera vez que la use.
Después de iniciar sesión, encontrará un cuadro de diálogo para cargar el archivo PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip recopilado por PerfInsights.
Ponte en contacto con nosotros para obtener ayuda
Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.