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