Ottimizzare la velocità effettiva di rete per le macchine virtuali di Azure

Le macchine virtuali di Azure hanno impostazioni di rete predefinite che possono essere ottimizzate ulteriormente per una migliore velocità effettiva di rete. Questo articolo illustra come ottimizzare la velocità effettiva di rete per macchine virtuali di Microsoft Azure Windows e Linux, incluse le distribuzioni principali, ad esempio Ubuntu e Red Hat.

Macchine virtuali Windows

Se la macchina virtuale Windows supporta rete accelerata, abilitare tale funzionalità per una velocità effettiva ottimale. Per altre informazioni, vedere Creare una macchina virtuale Windows con rete accelerata.

Per tutte le altre macchine virtuali di Windows, tramite Receive-Side Scaling (RSS) esse possono raggiungere una velocità effettiva massima superiore rispetto a una VM senza RSS. È possibile disabilitare RSS per impostazione predefinita in una macchina virtuale Windows. Per determinare se RSS è abilitato e abilitarlo se è disabilitato, eseguire la procedura seguente:

  1. Con il comando Get-NetAdapterRss di PowerShell verificare se RSS è abilitato per una scheda di rete. Nell'output di esempio seguente restituito da Get-NetAdapterRss RSS non è abilitato.

    Name                    : Ethernet
    InterfaceDescription    : Microsoft Hyper-V Network Adapter
    Enabled                 : False
    
  2. Per abilitare RSS, immettere il comando seguente:

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

    Questo comando non ha un output. Il comando modifica le impostazioni della scheda di interfaccia di rete. Causa una perdita temporanea di connettività per circa un minuto. Durante la perdita di connettività viene visualizzata una finestra di dialogo di riconnessione. La connettività viene in genere ripristinata dopo il terzo tentativo.

  3. Verificare che RSS sia abilitato nella macchina virtuale immettendo di nuovo il comando Get-NetAdapterRss. Se l'esito è positivo, viene restituito l'output di esempio seguente:

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

Macchine virtuali Linux

RSS è sempre abilitato per impostazione predefinita nella macchina virtuale Linux di Azure. I kernel Linux rilasciati a partire da ottobre 2017 includono opzioni di ottimizzazione di rete che consentono a una macchina virtuale Linux di ottenere una velocità effettiva di rete superiore.

Ubuntu per nuove distribuzioni

Il kernel di Ubuntu di Azure è il più ottimizzato per le prestazioni di rete in Azure. Attualmente tutte le immagini Ubuntu di Canonical sono disponibili per impostazione predefinita con il kernel di Azure ottimizzato installato.

È sufficiente usare il comando seguente per assicurarsi di usare il kernel di Azure identificato da -azure alla fine della versione.

uname -r

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

Aggiornamento del kernel Azure Ubuntu per le macchine virtuali esistenti

È possibile ottenere prestazioni significative della velocità effettiva eseguendo l'aggiornamento al kernel Linux di Azure. Per verificare se si ha già questo kernel, controllare la versione del kernel. Deve essere uguale o successivo all'esempio.

#Azure kernel name ends with "-azure"
uname -r

#sample output on Azure kernel:
#4.13.0-1007-azure

Se la macchina virtuale non ha il kernel di Azure, il numero di versione inizia in genere con "4.4". Se la macchina virtuale non ha il kernel di Azure, eseguire i comandi seguenti come radice:

#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

Altre distribuzioni

La maggior parte delle distribuzioni moderne dovrebbe avere miglioramenti significativi con i kernel più recenti della versione 4.19+, è possibile controllare la versione corrente del kernel e assicurarsi di eseguire un kernel più recente.

Passaggi successivi