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 la red de las máquinas virtuales Windows y Linux de Microsoft Azure, incluidas las distribuciones principales como Ubuntu y Red Hat.
Máquinas virtuales Windows
Si la máquina virtual Windows admite redes aceleradas, 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 la recepción (RSS) puede logar un rendimiento máximo y mayor que en el caso de máquinas que no usan RSS. En las máquinas virtuales Windows, RSS se puede deshabilitar de forma predeterminada. Para determinar si RSS está habilitado y para habilitarlo si no lo está en la actualidad, complete los siguientes pasos:
Compruebe si RSS está habilitado para un adaptador de red con el comando Get-NetAdapterRss de PowerShell. En la siguiente salida de ejemplo que devuelve
Get-NetAdapterRss
, RSS no está habilitado.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 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 Azure de Ubuntu es que mejor rendimiento de red ofrece en Azure. Para obtener las optimizaciones más recientes, primero instale la última versión compatible 18.04-LTS, tal como se indica a continuación:
"Publisher": "Canonical",
"Offer": "UbuntuServer",
"Sku": "18.04-LTS",
"Version": "latest"
Una vez que la creación finaliza, escriba los siguientes comandos para obtener el actualizaciones más recientes. Estos pasos también funcionan en las máquinas virtuales que ejecutan actualmente el kernel de Azure de Ubuntu.
#run as root or preface with sudo
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
Si una implementación de Ubuntu existente ya tiene el kernel de Azure, pero no se puede actualizar y aparecen errores, este conjunto de comandos opcional podría ser útil.
#optional steps might be helpful in existing deployments with the Azure kernel
#run as root or preface with sudo
sudo apt-get -f install
sudo apt-get --fix-missing install
sudo apt-get clean
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
Actualización del kernel de Azure de Ubuntu para las 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
En caso de que la máquina virtual no tenga el kernel de Azure, el número de versión generalmente empieza con "4.4." Si esto ocurre, ejecuta 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
Red Hat
Para obtener las optimizaciones, se recomienda crear una máquina virtual con la versión más reciente compatible mediante la especificación de los siguientes parámetros:
"Publisher": "RedHat"
"Offer": "RHEL"
"Sku": "7-RAW"
"Version": "latest"
Las máquinas virtuales nuevas y existentes pueden beneficiarse de la instalación de LIS más reciente. La optimización del rendimiento se realiza en LIS a partir de la versión 4.2. Escriba los siguientes comandos para descargar e instalar LIS:
wget https://aka.ms/lis
tar xvf lis
cd LISISO
sudo ./install.sh #or upgrade.sh if prior LIS was previously installed
Para más información sobre la versión 4.3 de Linux Integration Services para Hyper-V, consulte la página de descarga.
Pasos siguientes
- 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.