Optimización del rendimiento de red en las máquinas virtuales de Azure
Las máquinas virtuales (VM) de Azure tienen una configuración de red predeterminada que se puede optimizar para mejorar aún más el rendimiento de la red. En este artículo se describe cómo optimizar el rendimiento de red para máquinas virtuales Windows y Linux, incluidas las principales distribuciones, como Ubuntu y Red Hat.
Máquinas virtuales Windows
Si la máquina virtual Windows admite red acelerada, habilite esa característica para lograr un rendimiento óptimo. Para más información, consulte Creación de una máquina virtual Windows con redes aceleradas.
En el caso de otras máquinas virtuales Windows, el uso de escalado en el lado de la recepción (RSS) pueden logar un rendimiento máximo mayor que las que no lo usan. En las máquinas virtuales Windows, RSS se puede deshabilitar de forma predeterminada. Para determinar si RSS está habilitado y habilitarlo si está deshabilitado actualmente, siga estos pasos:
Compruebe si RSS está habilitado para un adaptador de red con el comando Get-NetAdapterRss de PowerShell. En el ejemplo siguiente, la salida devuelta desde el
Get-NetAdapterRss
RSS no está habilitada.Name : Ethernet InterfaceDescription : Microsoft Hyper-V Network Adapter Enabled : False
Para habilitar RSS escriba el siguiente comando:
Get-NetAdapter | % {Enable-NetAdapterRss -Name $_.Name}
Este comando no tiene ninguna salida. El comando cambia la configuración de la tarjeta de interfaz de red (NIC). Provoca una pérdida temporal de conectividad durante aproximadamente un minuto. Durante la pérdida de conectividad, aparece un cuadro de diálogo Reconectando. La conectividad se suele restaurar al tercer intento.
Confirme que RSS está habilitado en la máquina virtual, para lo que debe volver a escribir el comando
Get-NetAdapterRss
. Si se realiza correctamente, se devuelve la siguiente salida de ejemplo:Name : Ethernet InterfaceDescription : Microsoft Hyper-V Network Adapter Enabled : True
Máquinas virtuales Linux
De manera predeterminada, en las máquinas virtuales Linux de Azure RSS está siempre habilitado. Los kernels de Linux lanzados desde octubre de 2017 incluyen nuevas opciones de optimización de red que permiten que las máquinas virtuales Linux logren un mayor rendimiento de la red.
Ubuntu para las nuevas implementaciones
El kernel de Ubuntu en Azure es el más optimizado para el rendimiento de red en Azure. Actualmente, todas las imágenes de Ubuntu de Canonical vienen de forma predeterminada con el kernel de Azure optimizado instalado.
Use el comando siguiente para asegurarse de que usa el kernel de Azure, que se identifica mediante -azure
al final de la versión.
uname -r
#sample output on Azure kernel:
6.8.0-1017-azure
Actualización del kernel de Ubuntu en Azure para máquinas virtuales existentes
Al actualizar al kernel de Linux de Azure, se puede lograr un rendimiento significativo. Para comprobar si tienen este kernel, compruebe la versión del kernel. Debe ser el mismo o posterior al del ejemplo.
#Azure kernel name ends with "-azure"
uname -r
#sample output on Azure kernel:
#4.13.0-1007-azure
Si la máquina virtual no tiene el kernel de Azure, el número de versión normalmente comienza con la versión 4.4. Si la máquina virtual no tiene el kernel de Azure, ejecute los siguientes comandos como raíz:
#run as root or preface with sudo
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo apt-get install "linux-azure"
sudo reboot
Otras distribuciones
La mayoría de las distribuciones modernas deben tener mejoras significativas con kernels más recientes que 4.19+. Compruebe la versión actual del kernel para asegurarse de que está ejecutando un kernel más reciente.
Contenido relacionado
- Implemente las VM próximas entre sí para obtener una latencia baja con los grupos con ubicación por proximidad.
- Vea el resultado con las pruebas de ancho de banda y rendimiento para su escenario.
- Aprenda cómo el ancho de banda se asigna a las máquinas virtuales.
- Obtenga más información con las preguntas más frecuentes acerca de Azure Virtual Network.