Otimizar o débito de rede para máquinas virtuais do Azure

As Máquinas Virtuais (VMs) do Azure têm configurações de rede padrão que podem ser otimizadas ainda mais para a taxa de transferência da rede. Este artigo descreve como otimizar a taxa de transferência de rede para VMs Windows e Linux do Microsoft Azure, incluindo as principais distribuições, como Ubuntu e Red Hat.

Máquinas Virtuais do Windows

Se a sua máquina virtual Windows suportar rede acelerada, habilite esse recurso para uma taxa de transferência ideal. Para obter mais informações, consulte Criar uma VM do Windows com rede acelerada.

Para todas as outras máquinas virtuais do Windows, o uso do RSS (Receive Side Scaling) pode atingir uma taxa de transferência máxima mais alta do que uma VM sem RSS. O RSS pode estar desabilitado por padrão em uma VM do Windows. Para determinar se o RSS está habilitado e habilitá-lo se estiver desativado no momento, conclua as seguintes etapas:

  1. Veja se o RSS está habilitado para um adaptador de rede com o comando Get-NetAdapterRss PowerShell. No exemplo a seguir, a Get-NetAdapterRsssaída retornada do , o RSS não está habilitado.

    Name                    : Ethernet
    InterfaceDescription    : Microsoft Hyper-V Network Adapter
    Enabled                 : False
    
  2. Para ativar o RSS, introduza o seguinte comando:

    Get-NetAdapter | % {Enable-NetAdapterRss -Name $_.Name}
    

    Este comando não tem uma saída. O comando altera as configurações da NIC. Causa perda temporária de conectividade por cerca de um minuto. Uma caixa de diálogo Reconectando aparece durante a perda de conectividade. A conectividade normalmente é restaurada após a terceira tentativa.

  3. Confirme se o RSS está habilitado na VM inserindo o Get-NetAdapterRss comando novamente. Se bem-sucedida, a saída de exemplo a seguir é retornada:

    Name                    : Ethernet
    InterfaceDescription    : Microsoft Hyper-V Network Adapter
    Enabled                 : True
    

Máquinas virtuais do Linux

O RSS é sempre habilitado por padrão em uma VM Linux do Azure. Os kernels Linux lançados desde outubro de 2017 incluem novas opções de otimizações de rede que permitem que uma VM Linux alcance uma taxa de transferência de rede mais alta.

Ubuntu para novas implantações

O kernel do Ubuntu Azure é o mais otimizado para desempenho de rede no Azure. Atualmente, todas as imagens do Ubuntu da Canonical vêm por padrão com o kernel otimizado do Azure instalado.

Você pode simplesmente usar o comando abaixo para se certificar de que está usando o kernel do Azure, que é identificado por -azure no final da versão.

uname -r

#sample output on Azure kernel:
6.8.0-1017-azure

Atualização do kernel do Ubuntu Azure para VMs existentes

Você pode obter um desempenho de taxa de transferência significativo atualizando para o kernel Linux do Azure. Para verificar se você tem esse kernel, verifique sua versão do kernel. Deve ser o mesmo ou posterior ao 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 root:

#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

Outras distribuições

A maioria das distribuições modernas deve ter melhorias significativas com kernels mais recentes do que 4.19+, você pode verificar a versão atual do kernel e certificar-se de que está executando um kernel mais novo.

Próximos passos