Otimizar a taxa de transferência de rede para máquinas virtuais do Azure
Máquinas Virtuais do Azure (VMs) têm configurações de rede padrão que podem ser mais otimizadas para taxa de transferência de rede. Este artigo descreve como otimizar a taxa de transferência de rede para VMs do Windows e do Linux do Microsoft Azure, incluindo as principais distribuições como o Ubuntu e o Red Hat.
Se a máquina virtual do Windows der suporte à rede acelerada, habilite esse recurso para a taxa de transferência ideal. Para obter mais informações, confira Criar uma VM do Windows com rede acelerada.
Para todas as outras máquinas virtuais do Windows, usar RSS (Receive Side Scaling) pode alcançar uma taxa de transferência máxima maior que uma VM sem RSS. O RSS pode ser desabilitado por padrão em uma VM do Windows. Para determinar se o RSS está habilitado, e habilitá-lo se ele estiver desabilitado no momento, conclua as seguintes etapas:
Veja se o RSS está habilitado para um adaptador de rede com o comando do PowerShell Get-NetAdapterRss. Na saída do exemplo seguinte retornada do
Get-NetAdapterRss
, o RSS não está habilitado.Name : Ethernet InterfaceDescription : Microsoft Hyper-V Network Adapter Enabled : False
Para habilitar o RSS, insira o seguinte comando:
Get-NetAdapter | % {Enable-NetAdapterRss -Name $_.Name}
Esse comando não tem nenhuma saída. O comando altera as configurações de NIC. Isso causa perda temporária de conectividade por cerca de um minuto. Aparece uma caixa de diálogo Reconectando durante a perda de conectividade. Normalmente, a conectividade for restaurada após a terceira tentativa.
Confirme se o RSS está habilitado na VM inserindo o
Get-NetAdapterRss
comando novamente. Se for bem-sucedido, será retornada a seguinte saída de exemplo:Name : Ethernet InterfaceDescription : Microsoft Hyper-V Network Adapter Enabled : True
RSS está sempre habilitado por padrão em uma VM do Linux do Azure. Kernels do Linux liberados desde outubro de 2017 incluem novas opções de otimização de rede que permitem que uma VM Linux obtenha maior taxa de transferência de rede.
O kernel do Azure do Ubuntu é o mais otimizado para desempenho de rede no Azure. Atualmente, todas as imagens do Ubuntu pela Canonical vêm por padrão com o kernel do Azure otimizado instalado.
Você pode simplesmente usar o comando abaixo para garantir que está usando o kernel do Azure, identificado por -azure no final da versão.
uname -r
#sample output on Azure kernel:
6.8.0-1017-azure
Você pode obter um desempenho significativo de taxa de transferência atualizando para o kernel do Linux do Azure. Para verificar se você tem esse kernel, verifique a versão do kernel. Ele deve ser o mesmo ou posterior ao usado no exemplo.
#Azure kernel name ends with "-azure"
uname -r
#sample output on Azure kernel:
#4.13.0-1007-azure
Se sua máquina virtual não tiver o kernel do Azure, o número da versão geralmente começa com "4.4". Se a VM não tiver o kernel do Azure, execute os seguintes comandos como raiz:
#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
A maioria das distribuições modernas deve ter melhorias significativas com kernels mais novos que +4.19, você pode verificar a versão atual do kernel e garantir que está em execução com um kernel mais recente.
- Implantar VMs próximas umas às outras para baixa latência com o grupo de posicionamento por proximidade.
- Veja o resultado otimizado com o teste de Largura de Banda/Taxa de Transferência para o seu cenário.
- Leia mais sobre como a largura de banda é alocada a máquinas virtuais.
- Saiba mais com as Perguntas frequentes sobre a Rede Virtual do Microsoft Azure.