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 netwerkdoorvoer optimaliseert voor virtuele Microsoft Azure Windows- en Linux-machines, waaronder belangrijke distributies zoals Ubuntu en Red Hat.
Virtuele Windows-machines
Als uw virtuele Windows-machine versneld netwerken ondersteunt, schakelt u deze functie in voor optimale doorvoer. Zie Een Virtuele Windows-machine maken met versneld netwerken voor meer informatie.
Voor alle andere virtuele Windows-machines kan het gebruik van RSS (Receive Side Scaling) een hogere maximale doorvoer bereiken dan een virtuele machine zonder RSS. RSS kan standaard worden uitgeschakeld op een Virtuele Windows-machine. Voer de volgende stappen uit om te bepalen of RSS is ingeschakeld en in te schakelen als deze momenteel is uitgeschakeld:
Kijk of RSS is ingeschakeld voor een netwerkadapter met de Opdracht Get-NetAdapterRss PowerShell. In de volgende voorbeelduitvoer geretourneerd van de
Get-NetAdapterRss
RSS is niet ingeschakeld.Name : Ethernet InterfaceDescription : Microsoft Hyper-V Network Adapter Enabled : False
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 veroorzaakt tijdelijk connectiviteitsverlies gedurende ongeveer één minuut. Er wordt een dialoogvenster voor opnieuw verbinden weergegeven tijdens het connectiviteitsverlies . De verbinding wordt meestal hersteld na de derde poging.
Controleer of RSS is ingeschakeld op de virtuele machine 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 Virtuele Azure Linux-machine. 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. Momenteel worden alle Ubuntu-installatiekopieën van Canonical standaard geleverd met de geoptimaliseerde Azure-kernel geïnstalleerd.
U kunt gewoon de onderstaande opdracht gebruiken om ervoor te zorgen dat u de Azure-kernel gebruikt die wordt geïdentificeerd door -azure aan het einde van de versie.
uname -r
#sample output on Azure kernel:
6.8.0-1017-azure
Ubuntu Azure-kernelupgrade voor bestaande VM's
U kunt aanzienlijke doorvoerprestaties krijgen door een upgrade uit te voeren naar de Azure Linux-kernel. Als u wilt controleren of u deze kernel hebt, controleert u de kernelversie. Dit 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 beschikt over de Azure-kernel, begint het versienummer meestal met '4.4'. Als de VIRTUELE machine niet over de Azure-kernel beschikt, voert u de volgende opdrachten uit als 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
Andere distributies
De meeste moderne distributies moeten aanzienlijke verbeteringen hebben met kernels die hoger zijn dan 4.19+, u kunt de huidige kernelversie controleren en ervoor zorgen dat u een nieuwere kernel uitvoert.
Volgende stappen
- Implementeer VM's dicht bij elkaar voor lage latentie met nabijheidsplaatsingsgroepen.
- Bekijk het geoptimaliseerde resultaat met bandbreedte-/doorvoertests voor uw scenario.
- Meer informatie over hoe bandbreedte wordt toegewezen aan virtuele machines.
- Meer informatie met veelgestelde vragen over Azure Virtual Network.