Compartir a través de


Solución de problemas de rendimiento de máquinas virtuales de Azure en Linux o Windows

Se aplica a: ✔️ Máquinas virtuales Linux ✔️ Máquinas virtuales Windows

En este artículo se describe la solución de problemas genéricos de rendimiento de máquinas virtuales (VM) mediante la supervisión y la observación de los cuellos de botella, y se proporcionan posibles correcciones para las incidencias que se pueden producir. Además de la supervisión, también puede usar Perfinsights, que puede proporcionar un informe con recomendaciones sobre los procedimientos recomendados y cuellos de botella clave en torno a E/S, CPU o memoria. Perfinsights está disponible para máquinas virtuales Windows y Linux en Azure.

En este artículo se explica el uso de la supervisión para diagnosticar cuellos de botella de rendimiento.

Habilitación de la supervisión

Supervisión de máquinas virtuales IaaS de Azure

Para supervisar la máquina virtual invitada, use la supervisión de máquinas virtuales de Azure, que le avisará sobre ciertas condiciones de recursos de alto nivel. Para comprobar si tiene habilitados los diagnósticos de máquina virtual, consulte Información general sobre los registros de recursos de Azure. Si ve lo siguiente, lo más probable es que no tenga habilitados los diagnósticos:

Captura de pantalla que muestra el mensaje Supervisión no está habilitado.

Habilitación de los diagnósticos de máquina virtual mediante Azure Portal

Para habilitar los diagnósticos de máquina virtual:

  1. Vaya a la máquina virtual.

  2. Haga clic en Configuración de diagnóstico.

  3. Seleccione la cuenta de almacenamiento y haga clic en Habilitar supervisión a nivel de invitado.

    Captura de pantalla que muestra los pasos para habilitar los diagnósticos de máquina virtual.

Puede comprobar la cuenta de almacenamiento que se usa para la configuración de diagnósticos en la pestaña Agente de Configuración de diagnóstico.

Captura de pantalla que resalta la cuenta de almacenamiento en la pestaña Agente.

Habilitación de los diagnósticos de la cuenta de almacenamiento mediante Azure Portal

El almacenamiento es un nivel muy importante cuando se pretende analizar el rendimiento de E/S para una máquina virtual en Azure. En el caso de las métricas relacionadas con el almacenamiento, es necesario habilitar el diagnóstico como paso adicional. También se puede habilitar si solo desea analizar los contadores relacionados con el almacenamiento.

  1. Seleccione la máquina virtual para identificar cuál es la cuenta (o cuentas) que usa. Haga clic en Configuración y después en Discos.

    Captura de pantalla que muestra el disco del sistema operativo en discos.

  2. En el portal, vaya a la cuenta (o cuentas) de almacenamiento de la máquina virtual y siga estos pasos:

    1. Haga clic en Información general para la cuenta de almacenamiento que encontró en el paso anterior.
    2. Se mostrarán las métricas predeterminadas.

    Captura de pantalla que muestra las métricas predeterminadas en Información general.

  3. Haga clic en cualquiera de las métricas, la que mostrará otra hoja con más opciones para configurar y agregar métricas.

    Captura de pantalla que muestra los pasos para agregar y configurar métricas.

Para configurar estas opciones:

  1. Seleccione Métricas.
  2. Seleccione el Recurso (cuenta de almacenamiento).
  3. Seleccione el Espacio de nombres.
  4. Seleccione Métrica.
  5. Seleccione el tipo de Agregación.
  6. Puede anclar esta vista en el panel.

Observación de los cuellos de botella

Una vez que se realiza el proceso de configuración inicial de las métricas necesarias y después de habilitar el diagnóstico para la máquina virtual y la cuenta de almacenamiento relacionada, podemos cambiar a la fase de análisis.

Acceso a la supervisión

Seleccione la máquina virtual de Azure que quiere investigar y elija Supervisión.

Captura de pantalla que muestra el panel Supervisión.

Escalas de tiempo de observación

Para identificar si hay cuellos de botella en los recursos, revise los datos. Si la máquina ha estado funcionando bien, pero se ha notificado que el rendimiento ha disminuido recientemente, revise un intervalo de tiempo de datos que abarque los datos de las métricas de rendimiento antes de que se notificara el cambio y durante y después del problema.

Comprobación de los cuellos de botella en la CPU

Captura de pantalla que muestra los pasos para comprobar el cuello de botella de CPU.

  1. Edite el gráfico.
  2. Defina el intervalo de tiempo.
  3. Después, debe agregar en el contador: sistema operativo de invitado del porcentaje de CPU
  4. Seleccione Guardar.

Al examinar los problemas de rendimiento, debe tener en cuenta las tendencias y comprender si le afectan. En las secciones siguientes, usaremos los gráficos de supervisión del portal para mostrar las tendencias. También pueden ser útiles para crear referencias cruzadas de las diferencias entre los comportamientos de los recursos en el mismo período de tiempo. Para personalizar los gráficos, haga clic en Plataforma de datos de Azure Monitor.

Subiendo: los picos podrían estar relacionados con una tarea programada o un evento conocido. Si puede identificar la tarea, determine si esta se ejecuta con el nivel de rendimiento necesario. Si el rendimiento es aceptable, puede que no necesite aumentar los recursos.

Máximo y constante: con frecuencia indica una nueva carga de trabajo. Si no es una carga de trabajo reconocida, habilite la supervisión en la máquina virtual para averiguar qué proceso (o procesos) provoca el comportamiento. Una vez reconocido el proceso, determine si el aumento del consumo se debe a un código ineficaz o a un consumo normal. Si el consumo es normal, decida si el proceso funciona con el nivel de rendimiento necesario.

Constante: determine si la máquina virtual se ha ejecutado siempre en este nivel, o si solo lo ha hecho desde que se han habilitado los diagnósticos. En caso afirmativo, identifique el proceso (o procesos) que causa el problema y considere la posibilidad de agregar más recursos.

Aumento constante: un aumento constante en el consumo suele ser debido a un código ineficaz o un proceso que asume más carga de trabajo de usuario.

Corrección del uso elevado de la CPU

Si la aplicación o el proceso no se ejecutan con el nivel de rendimiento correcto y observa una utilización constante de la CPU de más del 95 %, puede realizar cualquiera de las siguientes tareas:

  • Como solución inmediata: aumente el tamaño de la máquina virtual a uno con más núcleos.
  • Comprenda el problema: busque la aplicación o el proceso y solucione los problemas en consecuencia.

Si ha aumentado la máquina virtual y la CPU se sigue ejecutando al 95 %, determine si esta configuración ofrece un mejor rendimiento o una capacidad de proceso de aplicación más elevada hasta un nivel aceptable. Si no es así, solucione los problemas de la aplicación o el proceso.

Puede usar Perfinsights para Windows o Linux para analizar qué proceso está llevando a cabo el consumo de la CPU.

Comprobación de los cuellos de botella en la memoria

Para ver las métricas:

  1. Agregue una sección.
  2. Agregue un icono.
  3. Abra la galería.
  4. Seleccione el uso de memoria y arrastre. Cuando el icono esté acoplado, haga clic con el botón derecho y seleccione 6x4.

El uso de memoria muestra cuánta memoria se consume con la máquina virtual. Comprenda la tendencia y si corresponde a la hora en que aparecen los problemas. Siempre debe tener más de 100 MB de memoria disponible.

Máximo y constante/consumo estable constante: puede que el uso elevado de memoria no sea la causa del rendimiento deficiente, puesto que algunas aplicaciones, como los motores de base de datos relacional, asignan una gran cantidad de memoria, y puede que este uso no sea de importancia. Sin embargo, si hay varias aplicaciones que necesiten memoria, puede presenciar un rendimiento deficiente por la contención de memoria, lo que provoca recortes y paginación o intercambio en el disco. Este bajo rendimiento suele ser una causa apreciable del impacto del rendimiento en las aplicaciones.

Aumento constante del consumo: posible "calentamiento" de la aplicación, este consumo es común entre los motores de base de datos que se inician. Pero también podría ser una señal de fuga de memoria en una aplicación. Identifique la aplicación y vea si se trata de un comportamiento esperado.

Uso de páginas o archivos de intercambio: compruebe si usa el archivo de paginación de Windows (ubicado en D:) o el archivo de intercambio de Linux (ubicado en /dev/sdb) que se está usando en gran medida. Si no tiene nada en estos volúmenes excepto estos archivos, compruebe si hay numerosas operaciones de lectura y escritura en esos discos. Este problema indica condiciones de memoria insuficiente.

Corrección del uso elevado de memoria

Para resolver los problemas de un uso elevado de memoria, realice cualquiera de las siguientes tareas:

  • Para resolver inmediatamente el problema de uso de los archivos de paginación o intercambio: aumente el tamaño de la máquina virtual a una con más memoria y luego realice la supervisión.
  • Comprenda el problema: busque las aplicaciones o procesos y realice tareas de solución de problemas a fin de identificar las aplicaciones que consumen más memoria.
  • Si conoce la aplicación, vea si se puede limitar la asignación de memoria.

Si después de actualizar a una máquina virtual más grande, descubre que todavía tiene un aumento estable constante de hasta el 100 %, identifique la aplicación o el proceso y solucione los problemas.

Puede usar Perfinsights para Windows o Linux para analizar qué proceso está llevando a cabo el consumo de la memoria.

Comprobación de los cuellos de botella en el disco

Para comprobar el subsistema de almacenamiento de la máquina virtual, consulte los diagnósticos en el nivel de máquina virtual de Azure mediante el uso de los contadores de diagnósticos de máquina virtual y también los diagnósticos de la cuenta de almacenamiento.

Para la solución de problemas específica de la máquina virtual, puede usar Perfinsights para Windows o Linux, lo que podría ayudar a analizar qué proceso está impulsando la E/S.

Tenga en cuenta que no existen contadores para cuentas de Premium Storage y con redundancia de zona. En el caso de problemas relacionados con estos contadores, genere una incidencia de soporte técnico.

Visualización de los diagnósticos de la cuenta de almacenamiento en la supervisión

Para trabajar con los siguientes elementos, vaya a la cuenta de almacenamiento de la máquina virtual en el portal:

Captura de pantalla que muestra los pasos para ver diagnósticos de cuentas de almacenamiento en la supervisión.

  1. Edite el gráfico de supervisión.
  2. Defina el intervalo de tiempo.
  3. Agregue los contadores descritos en los pasos siguientes.
  4. Guarde los cambios.

Para identificar problemas con el almacenamiento, examine las métricas de rendimiento de los diagnósticos de la cuenta de almacenamiento y los diagnósticos de máquina virtual.

En cada una de las siguientes comprobaciones, busque las tendencias clave de cuándo se producen los problemas en el intervalo de tiempo del problema.

Comprobación de la disponibilidad del almacenamiento de Azure: agregar la métrica de la cuenta de almacenamiento: disponibilidad

Si observa un descenso de la disponibilidad, podría haber un problema con la plataforma; compruebe el estado de Azure. Si no se muestra ningún problema, genere una nueva solicitud de soporte técnico.

Comprobación del tiempo de espera de Azure Storage: adición de las métricas de la cuenta de almacenamiento

  • ClientTimeOutError
  • ServerTimeOutError
  • AverageE2ELatency
  • AverageServerLatency
  • TotalRequests

Los valores de las métricas *TimeOutError indican que una operación de E/S ha tardado demasiado tiempo y ha agotado el tiempo de espera. Trabajar con los pasos siguientes le ayudará a identificar posibles causas.

El aumento de AverageServerLatency al mismo tiempo en TimeOutErrors podría deberse a un problema de la plataforma. En este caso, genere una nueva solicitud de soporte técnico.

AverageE2ELatency representa la latencia del cliente. Compruebe cómo la aplicación realiza las operaciones IOPS. Busque un aumento o una métrica TotalRequests constantemente alta. Esta métrica representa las operaciones IOPS. Si está empezando a alcanzar los límites de la cuenta de almacenamiento o de un solo disco duro virtual, la latencia puede estar relacionada con la limitación.

Comprobar la limitación de Azure Storage y agregar las métricas de la cuenta de almacenamiento: ThrottlingError

Los valores de limitación indican que está experimentando restricciones en el nivel de la cuenta de almacenamiento, lo que significa que se va a alcanzar el límite de IOPS de la cuenta. Para determinar si va a alcanzar el umbral de IOPS, compruebe la métrica TotalRequests.

Tenga en cuenta que cada disco duro virtual tiene un límite de 500 IOPS o 60 MBits, pero está sujeto al límite acumulado de 20000 IOPS por cuenta de almacenamiento.

Con esta métrica, no puede saber qué blob es el causante de la limitación y cuáles se ven afectados por ella. Sin embargo, va a alcanzar los límites de IOPS o de entrada y salida de la cuenta de almacenamiento.

Para identificar si va a alcanzar el límite de IOPS, vaya a los diagnósticos de la cuenta de almacenamiento y compruebe la métrica TotalRequests para ver si se aproxima a 20 000 TotalRequests. Identifique cualquier cambio en el patrón: si es la primera vez que ve el límite o si este límite sucede en determinados momentos.

Con las nuevas ofertas de disco en Standard Storage, los límites de IOPS y rendimiento pueden diferir, pero el límite acumulativo de la cuenta de Standard Storage es de 20 000 IOPS (Premium Storage tiene límites distintos en el nivel de cuenta o de disco). Obtenga más información sobre las distintas ofertas de disco de almacenamiento estándar y los límites por disco:

Referencias

El ancho de banda de la cuenta de almacenamiento se mide mediante las métricas de la cuenta de almacenamiento: TotalIngress y TotalEgress. Tiene umbrales diferentes para el ancho de banda en función del tipo de redundancia y regiones.

Compare TotalIngress y TotalEgress con los límites de entrada y salida de la región y el tipo de redundancia de la cuenta de almacenamiento.

Compruebe los límites de rendimiento de los discos duros virtuales asociados a la máquina virtual. Agregue las métricas de máquina virtual de lectura y escritura en el disco.

Las nuevas ofertas de disco en Standard Storage tienen distintos límites de IOPS y rendimiento (las IOPS no se exponen por VHD). Examine los datos para ver si va a alcanzar los límites de MB de rendimiento combinado de los discos duros virtuales en el nivel de máquina virtual mediante Lectura y escritura de disco y, luego, optimice la configuración del almacenamiento de máquina virtual para escalar los límites anteriores de un único disco duro virtual. Obtenga más información sobre las distintas ofertas de disco de almacenamiento estándar y los límites por disco:

Uso elevado del disco y corrección de la latencia

Reduzca la latencia del cliente y optimice la E/S de máquina virtual para escalar los límites anteriores del disco duro virtual.

Reducción de la limitación

Si se alcanzan los límites superiores de las cuentas de almacenamiento, vuelva a equilibrar los discos duros virtuales entre ellas. Consulte Objetivos de escalabilidad y rendimiento de Azure Storage.

Aumento del rendimiento y reducción de la latencia

Si tiene una aplicación que tiende a la latencia y requiere un alto rendimiento, migre los discos duros virtuales a Azure Premium Storage con la máquina virtual de la serie DS y GS.

En estos artículos se describen los escenarios específicos:

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.