Testa dataflödet för virtuell datornätverk med hjälp av NTTTCP
Den här artikeln beskriver hur du använder det kostnadsfria NTTTCP-verktyget från Microsoft för att testa nätverksbandbredd och dataflödesprestanda på virtuella Azure Windows- eller Linux-datorer (VM). Ett verktyg som NTTTCP riktar in sig på nätverket för testning och minimerar användningen av andra resurser som kan påverka prestanda.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- Två virtuella Windows- eller Linux-datorer i Azure. Skapa en virtuell Windows-dator eller skapa en virtuell Linux-dator.
- För att testa dataflödet behöver du två virtuella datorer av samma storlek för att fungera som avsändare och mottagare. De två virtuella datorerna ska finnas i samma närhetsplaceringsgrupp eller tillgänglighetsuppsättning, så att du kan använda deras interna IP-adresser och exkludera lastbalanserare från testet.
- Observera antalet VM-kärnor och mottagarens VM IP-adress som ska användas i kommandona. Både avsändare och mottagarkommandon använder mottagarens IP-adress.
Kommentar
Det är möjligt att testa med hjälp av en virtuell IP-adress, men det ligger utanför den här artikelns omfång.
Exempel som används i den här artikeln
Inställning | Värde |
---|---|
IP-adress för mottagardator | 10.0.0.5 |
Antal VM-kärnor | 2 |
Testa dataflöde med virtuella Windows-datorer eller virtuella Linux-datorer
Du kan testa dataflödet från virtuella Windows-datorer med hjälp av NTTTCP eller från virtuella Linux-datorer med hjälp av NTTTCP-for-Linux.
Förbereda virtuella datorer och installera NTTTCP-for-Windows
På både de virtuella avsändar- och mottagardatorerna laddar du ned den senaste versionen av NTTTCP till en separat mapp som c:\tools.
Öppna Windows-kommandoraden och gå till mappen där du laddade ned ntttcp.exe.
På den virtuella mottagardatorn skapar du en Windows-brandväggsregel
allow
så att NTTTCP-trafiken kan tas emot. Det är enklare att tillåta nttcp.exe efter namn än att tillåta specifika inkommande TCP-portar. Kör följande kommando ochc:\tools
ersätt med nedladdningssökvägen för ntttcp.exe om det är annorlunda.netsh advfirewall firewall add rule program=c:\tools\ntttcp.exe name="ntttcp" protocol=any dir=in action=allow enable=yes profile=ANY
Bekräfta konfigurationen genom att använda följande kommandon för att testa en enda TCP-ström (Transfer Control Protocol) i 10 sekunder på de virtuella mottagar- och avsändardatorerna:
Virtuell mottagardator
ntttcp -r -m [<number of VM cores> x 2],*,<receiver IP address> -t 10 -P 1
ntttcp -r -m 4,*,10.0.0.5 -t 10 -P 1
Virtuell avsändardator
ntttcp -s -m [<number of VM cores> x 2],*,<receiver IP address> -t 10 -P 1
ntttcp -s -m 4,*,10.0.0.5 -t 10 -P 1
Kommentar
Använd endast föregående kommandon för att testa konfigurationen.
Dricks
När du kör testet för första gången för att verifiera konfigurationen använder du en kort testvaraktighet för att få snabb feedback. När du har kontrollerat att verktyget fungerar utökar du testvaraktigheten till 300 sekunder för att få de mest exakta resultaten.
Köra dataflödestester
Kör testet i 300 sekunder, eller fem minuter, på både avsändaren och de virtuella mottagardatorerna. Avsändaren och mottagaren måste ange samma testvaraktighet för parametern -t
.
På den virtuella mottagardatorn kör du följande kommando och ersätter
<number of VM cores>
platshållarna och<receiver IP address>
med dina egna värden.ntttcp -r -m [<number of VM cores> x 2],*,<receiver IP address> -t 300
ntttcp -r -m 4,*,10.0.0.5 -t 300
Kör följande kommando på den virtuella avsändardatorn. Avsändar- och mottagarkommandona skiljer sig bara åt i parametern
-s
eller-r
som anger den virtuella avsändaren eller den virtuella mottagardatorn.ntttcp -s -m [<number of VM cores> x 2],*,<receiver IP address> -t 300
ntttcp -s -m 4,*,10.0.0.5 -t 300
Vänta på resultatet.
När testet är klart bör utdata vara liknande som i följande exempel:
C:\tools>ntttcp -s -m 4,*,10.0.0.5 -t 300
Copyright Version 5.39
Network activity progressing...
Thread Time(s) Throughput(KB/s) Avg B / Compl
====== ======= ================ =============
0 300.006 29617.328 65536.000
1 300.006 29267.468 65536.000
2 300.006 28978.834 65536.000
3 300.006 29016.806 65536.000
##### Totals: #####
Bytes(MEG) realtime(s) Avg Frame Size Throughput(MB/s)
================ =========== ============== ================
34243.000000 300.005 1417.829 114.141
Throughput(Buffers/s) Cycles/Byte Buffers
===================== =========== =============
1826.262 7.036 547888.000
DPCs(count/s) Pkts(num/DPC) Intr(count/s) Pkts(num/intr)
============= ============= =============== ==============
4218.744 1.708 6055.769 1.190
Packets Sent Packets Received Retransmits Errors Avg. CPU %
============ ================ =========== ====== ==========
25324915 2161992 60412 0 15.075
Testa dataflödet mellan en virtuell Windows-dator och en virtuell Linux-dator
Om du vill köra NTTTCP-dataflödestester mellan en virtuell Windows-dator och en virtuell Linux-dator aktiverar du läge utan synkronisering med hjälp -ns
av flaggan i Windows eller -N
flaggan i Linux.
Kör följande kommando för att testa med den virtuella Windows-datorn som mottagare:
ntttcp -r -m [<number of VM cores> x 2],*,<Linux VM IP address> -t 300
Kör följande kommando för att testa med den virtuella Windows-datorn som avsändare:
ntttcp -s -m [<number of VM cores> x 2],*,<Linux VM IP address> -ns -t 300