Bandbreedte/doorvoer testen (NTTTCP)
Wanneer u de prestaties van netwerkdoorvoer in Azure test, kunt u het beste een hulpprogramma gebruiken dat is gericht op het netwerk voor het testen en minimaliseren van het gebruik van andere resources die van invloed kunnen zijn op de prestaties. NTTTCP wordt aanbevolen.
Kopieer het hulpprogramma naar twee Virtuele Azure-machines van dezelfde grootte. De ene VM fungeert als AFZENDER en de andere als ONTVANGER.
VM's implementeren voor testen
Voor deze test moeten de twee VM's zich in dezelfde nabijheidsplaatsingsgroep of dezelfde beschikbaarheidsset bevinden, zodat we hun interne IP-adressen kunnen gebruiken en de Load Balancers van de test kunnen uitsluiten. Het is mogelijk om te testen met het VIP, maar dit soort tests valt buiten het bereik van dit document.
Noteer het IP-adres van de ONTVANGER. Laten we dat IP-adres 'a.b.c.r' noemen
Noteer het aantal kernen op de VIRTUELE machine. Laten we deze '#num_cores' noemen
Voer de NTTTCP-test 300 seconden (of 5 minuten) uit op de afzender-VM en ontvanger-VM.
Tip: Wanneer u deze test voor het eerst instelt, kunt u een kortere testperiode proberen om sneller feedback te krijgen. Zodra het hulpprogramma werkt zoals verwacht, verlengt u de testperiode tot 300 seconden voor de meest nauwkeurige resultaten.
Notitie
De afzender en ontvanger moeten dezelfde testduurparameter (-t) opgeven.
Eén TCP-stream gedurende 10 seconden testen:
Ontvangerparameters: ntttcp -r -t 10 -P 1
Afzenderparameters: ntttcp -s10.27.33.7 -t 10 -n 1 -P 1
Notitie
Het voorgaande voorbeeld mag alleen worden gebruikt om uw configuratie te bevestigen. Geldige voorbeelden van testen worden verderop in dit document behandeld.
VM's met WINDOWS testen:
Haal NTTTCP op de VM's.
Download de nieuwste versie: https://github.com/microsoft/ntttcp/releases/latest
Overweeg om NTTTCP in een afzonderlijke map te plaatsen, zoals c:\tools
NTTTCP toestaan via de Windows-firewall
Maak op de ONTVANGER een regel Toestaan in Windows Firewall om toe te staan dat het NTTTCP-verkeer binnenkomt. Het is het eenvoudigst om het hele NTTTCP-programma op naam toe te staan in plaats van dat specifieke TCP-poorten binnenkomend zijn toegestaan.
ntttcp als volgt toestaan via Windows Firewall:
netsh advfirewall firewall add rule program=<PATH>\ntttcp.exe name="ntttcp" protocol=any dir=in action=allow enable=yes profile=ANY
Als u bijvoorbeeld ntttcp.exe naar de map c:\tools hebt gekopieerd, is dit de opdracht:
netsh advfirewall firewall add rule program=c:\tools\ntttcp.exe name="ntttcp" protocol=any dir=in action=allow enable=yes profile=ANY
NTTTCP-tests uitvoeren
Start NTTTCP op de ONTVANGER (uitvoeren vanuit CMD, niet vanuit PowerShell):
ntttcp -r –m [2*#num_cores],*,a.b.c.r -t 300
Als de VM vier kernen en een IP-adres van 10.0.0.4 heeft, ziet deze er als volgt uit:
ntttcp -r –m 8,*,10.0.0.4 -t 300
Start NTTTCP op de AFZENDER (uitvoeren vanuit CMD, niet vanuit PowerShell):
ntttcp -s –m 8,*,10.0.0.4 -t 300
Wacht op de resultaten.
Vm's testen waarop LINUX wordt uitgevoerd:
Gebruik nttcp-for-linux. Het is beschikbaar vanaf https://github.com/Microsoft/ntttcp-for-linux
Voer op de Linux-VM's (zowel SENDER als RECEIVER) deze opdrachten uit om ntttcp-for-linux op uw VM's voor te bereiden:
CentOS - GCC en git installeren:
yum install gcc -y
yum install git -y
Ubuntu : build-essential en git installeren:
apt-get -y install build-essential
apt-get -y install git
SUSE- Installeer git-core, gcc en maak het volgende:
zypper in -y git-core gcc make
Maak en installeer op beide:
git clone https://github.com/Microsoft/ntttcp-for-linux
cd ntttcp-for-linux/src
make && make install
Zoals in het Windows-voorbeeld wordt ervan uitgegaan dat het IP-adres van de Linux-ONTVANGER 10.0.0.4 is
Start NTTTCP-for-Linux op de ONTVANGER:
ntttcp -r -t 300
Voer op de AFZENDER het volgende uit:
ntttcp -s10.0.0.4 -t 300
De lengte van de test wordt standaard ingesteld op 60 seconden als er geen tijdparameter wordt gegeven
Testen tussen VM's met Windows en LINUX:
In deze scenario's moeten we de modus zonder synchronisatie inschakelen, zodat de test kan worden uitgevoerd. Dit wordt gedaan met behulp van de vlag -N voor Linux en -ns voor Windows.
Van Linux naar Windows:
Ontvanger <Windows>:
ntttcp -r -m <2 x nr cores>,*,<Windows server IP>
Afzender <Linux> :
ntttcp -s -m <2 x nr cores>,*,<Windows server IP> -N -t 300
Van Windows naar Linux:
Ontvanger <Linux>:
ntttcp -r -m <2 x nr cores>,*,<Linux server IP>
Afzender <Windows>:
ntttcp -s -m <2 x nr cores>,*,<Linux server IP> -ns -t 300
Cloudservice-exemplaren testen:
U moet de volgende sectie toevoegen aan uw ServiceDefinition.csdef
<Endpoints>
<InternalEndpoint name="Endpoint3" protocol="any" />
</Endpoints>
Volgende stappen
- Afhankelijk van de resultaten is er mogelijk ruimte voor het optimaliseren van netwerkdoorvoermachines voor uw scenario.
- Meer informatie over hoe bandbreedte wordt toegewezen aan virtuele machines
- Meer informatie met Azure Virtual Network veelgestelde vragen (FAQ)