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:
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
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.
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
- Distribuire macchine virtuali vicine tra loro per una bassa latenza con gruppi di posizionamento di prossimità.
- Verificare i risultati dell'ottimizzazione dello scenario in Test della larghezza di banda/velocità effettiva .
- Sono disponibili informazioni sull'allocazione di larghezza di banda alle macchine virtuali.
- Altre informazioni sono disponibili nell'articolo Domande frequenti sulla rete virtuale di Azure.