Optimización del rendimiento y la funcionalidad

Completado

Después de incorporar los mejores procedimientos de ajuste de tamaño, redes y administración en el plan de implementación de máquinas virtuales Azure Linux, considere el rendimiento y la funcionalidad. En esta unidad se explica cómo optimizar los recursos de red y almacenamiento para las implementaciones de máquinas virtuales Azure Linux.

Optimización del rendimiento de red

Para optimizar el rendimiento de red para máquinas virtuales Azure Linux, puede usar optimizaciones de red basadas en kernel e implementar redes aceleradas si están disponibles.

Optimizaciones de red basadas en kernel

Los kernels de Linux publicados después de septiembre de 2017 incluyen opciones de optimización de red que permiten a las máquinas virtuales Azure Linux lograr un mayor rendimiento de red. Puede obtener un rendimiento significativo mediante el kernel de Linux más reciente.

Tanto las VM de Azure nuevas como las existentes se pueden beneficiar de la versión más reciente de Linux Integration Services (LIS). La optimización del rendimiento forma parte de LIS a partir de la versión 4.2, y las versiones posteriores contienen mejoras adicionales.

Redes aceleradas

Puede implementar redes aceleradas para minimizar la latencia, maximizar el rendimiento y reducir el uso de la CPU. Las redes aceleradas usan las funcionalidades de virtualización de E/S de raíz única (SR-IOV) del hardware del host para mejorar el rendimiento de la red.

Sin Accelerated Networking, todo el tráfico de red de entrada y salida de la máquina virtual tiene que atravesar el host y el conmutador virtual. Con redes aceleradas, el tráfico de red que llega a la interfaz de red de la VM se reenvía después a esta, sin pasar por el host.

Las redes aceleradas solo se aplican a la máquina virtual en la que están habilitadas. Para obtener resultados óptimos, habilite esta característica en máquinas virtuales de Azure que estén conectadas a la misma red virtual. Para la comunicación entre redes virtuales o en escenarios híbridos, esta característica tiene un impacto mínimo sobre la latencia general.

Azure admite las redes aceleradas para la mayoría de los tamaños de instancia de uso general y optimizados para proceso con dos o más vCPU. Las instancias de máquina virtual que usan hyperthreading admiten redes aceleradas en instancias que tienen cuatro o más vCPU.

Optimización del rendimiento de almacenamiento

Cada máquina virtual Azure Linux tiene al menos los dos discos virtuales siguientes:

  • El disco del sistema operativo, etiquetado como /dev/sda, con una capacidad máxima de 4 tebibytes (TiB) para discos con el formato de registro de arranque maestro (MBR) o 2 TiB para discos en el formato de tabla de particiones GUID (GPT). La imagen que se usa para aprovisionar la máquina virtual de Azure determina el tamaño predeterminado.

    Evite almacenar datos e instalar aplicaciones en el disco del sistema operativo porque está optimizado para el arranque rápido y no para ejecutar cargas de trabajo que no son del sistema operativo.

  • Un disco temporal etiquetado como /dev/sdb y montado en /mnt proporciona almacenamiento temporal. El tamaño y el rendimiento del disco dependen del tamaño de la máquina virtual y su propósito principal es almacenar un archivo de intercambio.

    • El disco temporal actúa como almacenamiento a corto plazo para los datos que se pueden descartar o volver a crear fácilmente. No use el disco temporal para almacenar archivos que deben conservarse en operaciones como el cambio de tamaño, la reimplementación o los reinicios.

    • Para implementar la configuración óptima para un archivo de intercambio, use cloud-init para las imágenes que lo admiten. Use el agente Linux de VM de Azure para las imágenes que no admiten cloud-init.

Discos de datos virtuales

Para almacenar datos e instalar aplicaciones, puede crear discos virtuales, conectarlos a una máquina virtual de Azure y montarlos en el sistema operativo. Puede agregar más discos según sea necesario según los requisitos de almacenamiento y entrada/salida por segundo (IOPS). Tenga en cuenta las siguientes consideraciones:

  • El número máximo de discos que puede asociar a una VM de Azure depende de su tamaño.
  • El número máximo de IOPS que admite una máquina virtual de Azure no solo depende del rendimiento agregado de sus discos, sino también del rendimiento máximo de IOPS de la máquina virtual, que está determinado por el tamaño de la máquina virtual. El rendimiento efectivo es el menor de los dos valores.

Para proporcionar almacenamiento para una máquina virtual de Azure, puede usar volúmenes de almacenamiento de nivel de bloque administrados por Azure. Los discos administrados de Azure admiten los cinco tipos de disco siguientes para abordar escenarios de clientes específicos:

  • Discos Ultra para cargas de trabajo que hacen un uso intensivo de E/S (como SAP HANA), bases de datos de nivel superior (como SQL y Oracle) y otras cargas de trabajo con gran cantidad de transacciones.
  • Unidades de estado sólido (SSD) Premium v2 para cargas de trabajo sensibles al rendimiento y de producción que requieren constantemente baja latencia, IOPS elevadas y alto rendimiento.
  • SSD prémium para las cargas de trabajo que requieren un alto rendimiento y de producción.
  • SSD estándar para servidores web, aplicaciones empresariales poco usadas y escenarios de desarrollo o prueba.
  • Unidades de disco duro estándar (HDD) para copias de seguridad y datos no críticos con acceso poco frecuente.

Barreras de escritura para SSD prémium

Para lograr las IOPS más altas en discos SSD prémium que tienen sus memorias caché establecidas en ReadOnly o None, deshabilite las barreras de escritura al montar el sistema de archivos en Linux. No necesita las barreras porque las escrituras en los discos de Premium Storage de copia de seguridad son duraderas para esta configuración de caché. Si el almacenamiento en caché se establece en Read/Write, mantenga habilitadas las barreras para garantizar la durabilidad de escritura.

  • Si usa el sistema de archivos reiserFS, deshabilite las barreras mediante la opción de montaje barrier=none.
  • Si utiliza ext3/ext4, deshabilite las barreras mediante la opción de montaje barrier=0.
  • Si utiliza XFS, deshabilite las barreras mediante la opción de montaje nobarrier.

Algoritmo de programación de E/S para SSD prémium

El kernel de Linux ofrece dos conjuntos de programadores de E/S de disco para reordenar las solicitudes: uno para el subsistema blk anterior y otro para el subsistema blk-mq más reciente. En el caso de los discos de almacenamiento prémium de Azure, use un programador que pase las decisiones de programación a la plataforma de virtualización subyacente.

  • Para los kernels de Linux que usan el subsistema blk, elija el programador noop.
  • Para los kernels de Linux que usan el subsistema blk-mq, elija el programador none.

Configuraciones de disco duro

Si las cargas de trabajo requieren más IOPS de las que puede proporcionar un solo disco, use una configuración de matriz redundante de discos independientes (RAID) de software que combine varios discos. Azure ofrece resistencia del disco en la capa de tejido de almacenamiento para que pueda centrarse en el rendimiento mediante la implementación de una franja RAID-0.

Como alternativa, puede instalar el administrador de volúmenes lógicos (LVM) y usarlo para combinar varios discos virtuales en un volumen de almacenamiento lógico de una sola franja. Con esta configuración, las lecturas y escrituras se distribuyan en varios discos del grupo de volúmenes, similar a RAID-0. Por motivos de rendimiento, es posible que desee seccionar los volúmenes lógicos para que las lecturas y escrituras utilicen todos los discos de datos conectados.