Netwerkdoorvoer voor virtuele Azure-machines optimaliseren

Azure Virtual Machines (VM's) hebben standaardnetwerkinstellingen die verder kunnen worden geoptimaliseerd voor netwerkdoorvoer. In dit artikel wordt beschreven hoe u de netwerkdoorvoer optimaliseert voor Microsoft Azure Windows- en Linux-VM's, inclusief belangrijke distributies zoals Ubuntu, CentOS en Red Hat.

Virtuele Windows-machines

Als uw virtuele Windows-machine ondersteuning biedt voor versneld netwerken, schakelt u die functie in voor optimale doorvoer. Zie Een Windows-VM met versneld netwerken maken voor meer informatie.

Voor alle andere virtuele Windows-machines kan het gebruik van RSS (Receive Side Scaling) een hogere maximale doorvoer bereiken dan een VM zonder RSS. RSS is mogelijk standaard uitgeschakeld in een Windows-VM. Voer de volgende stappen uit om te bepalen of RSS is ingeschakeld en in te schakelen als dit momenteel is uitgeschakeld:

  1. Kijk of RSS is ingeschakeld voor een netwerkadapter met de PowerShell-opdracht Get-NetAdapterRss . In het volgende voorbeeld wordt uitvoer geretourneerd van de Get-NetAdapterRss, RSS is niet ingeschakeld.

    Name                    : Ethernet
    InterfaceDescription    : Microsoft Hyper-V Network Adapter
    Enabled                 : False
    
  2. Voer de volgende opdracht in om RSS in te schakelen:

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

    Deze opdracht heeft geen uitvoer. Met de opdracht worden de NIC-instellingen gewijzigd. Dit leidt tot een tijdelijk verlies van de connectiviteit gedurende ongeveer één minuut. Er wordt een dialoogvenster Opnieuw verbinding maken weergegeven tijdens het verlies van de verbinding. De verbinding wordt doorgaans hersteld na de derde poging.

  3. Controleer of RSS is ingeschakeld op de VM door de Get-NetAdapterRss opdracht opnieuw in te voeren. Als dit lukt, wordt de volgende voorbeelduitvoer geretourneerd:

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

Virtuele Linux-machines

RSS is altijd standaard ingeschakeld in een Azure Linux-VM. Linux-kernels die sinds oktober 2017 zijn uitgebracht, bevatten nieuwe opties voor netwerkoptimalisatie waarmee een Linux-VM een hogere netwerkdoorvoer kan bereiken.

Ubuntu voor nieuwe implementaties

De Ubuntu Azure-kernel is het meest geoptimaliseerd voor netwerkprestaties in Azure. Als u de meest recente optimalisaties wilt ophalen, installeert u eerst de meest recente ondersteunde versie van 18.04-LTS, als volgt:

"Publisher": "Canonical",
"Offer": "UbuntuServer",
"Sku": "18.04-LTS",
"Version": "latest"

Nadat het maken is voltooid, voert u de volgende opdrachten in om de meest recente updates op te halen. Deze stappen werken ook voor VM's waarop momenteel de Ubuntu Azure-kernel wordt uitgevoerd.

#run as root or preface with sudo
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade

Als een bestaande Ubuntu-implementatie al de Azure-kernel heeft, maar niet kan worden bijgewerkt met fouten, kan deze optionele opdrachtenset nuttig zijn.

#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

Ubuntu Azure-kernelupgrade voor bestaande VM's

U kunt aanzienlijke doorvoerprestaties krijgen door een upgrade uit te voeren naar de Azure Linux-kernel. Controleer uw kernelversie om te controleren of u deze kernel hebt. Deze moet hetzelfde of later zijn dan het voorbeeld.

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

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

Als uw virtuele machine niet over de Azure-kernel beschikt, begint het versienummer meestal met '4.4'. Als de virtuele machine niet over de Azure-kernel beschikt, voert u de volgende opdrachten uit als hoofdmap:

#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

CentOS

Om de nieuwste optimalisaties te verkrijgen, raden we u aan een virtuele machine met de nieuwste ondersteunde versie te maken door de volgende parameters op te geven:

"Publisher": "OpenLogic",
"Offer": "CentOS",
"Sku": "7.7",
"Version": "latest"

Zowel nieuwe als bestaande VM's kunnen profiteren van de installatie van de nieuwste Linux Integration Services (LIS). De optimalisatie van de doorvoer vindt plaats in LIS, te beginnen met 4.2.2-2. Latere versies bevatten verdere verbeteringen. Voer de volgende opdrachten in om de meest recente LIS te installeren:

sudo yum update
sudo reboot
sudo yum install microsoft-hyper-v

Red Hat

Als u de optimalisaties wilt ophalen, raden we u aan een virtuele machine met de meest recente ondersteunde versie te maken door de volgende parameters op te geven:

"Publisher": "RedHat"
"Offer": "RHEL"
"Sku": "7-RAW"
"Version": "latest"

Zowel nieuwe als bestaande VM's kunnen profiteren van het installeren van de nieuwste LIS. De optimalisatie van de doorvoer vindt plaats in LIS, vanaf 4.2. Voer de volgende opdrachten in om LIS te downloaden en te installeren:

wget https://aka.ms/lis
tar xvf lis
cd LISISO
sudo ./install.sh #or upgrade.sh if prior LIS was previously installed

Meer informatie over Linux Integration Services versie 4.3 voor Hyper-V vindt u op de downloadpagina.

Volgende stappen