Vm-netwerkdoorvoer testen met behulp van NTTTCP
In dit artikel wordt beschreven hoe u het gratis hulpprogramma NTTTCP van Microsoft gebruikt om netwerkbandbreedte en doorvoerprestaties te testen op virtuele Machines (VM's) van Azure Windows of Linux. Een hulpprogramma zoals NTTTCP is gericht op het netwerk voor het testen en minimaliseert het gebruik van andere resources die van invloed kunnen zijn op de prestaties.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Twee virtuele Windows- of Linux-machines in Azure. Maak een Windows-VM of maak een Linux-VM.
- Als u de doorvoer wilt testen, hebt u twee VM's van dezelfde grootte nodig om te kunnen functioneren als afzender en ontvanger. De twee VM's moeten zich in dezelfde nabijheidsplaatsingsgroep of beschikbaarheidsset bevinden, zodat u hun interne IP-adressen kunt gebruiken en load balancers kunt uitsluiten van de test.
- Let op het aantal VM-kernen en het IP-adres van de ontvanger-VM dat moet worden gebruikt in de opdrachten. Zowel de opdrachten van de afzender als de ontvanger gebruiken het IP-adres van de ontvanger.
Notitie
Testen met behulp van een virtueel IP-adres is mogelijk, maar valt buiten het bereik van dit artikel.
Voorbeelden die in dit artikel worden gebruikt
Instelling | Weergegeven als |
---|---|
IP-adres van ontvanger-VM | 10.0.0.5 |
Aantal VM-kernen | 2 |
Doorvoer testen met Virtuele Windows-machines of Linux-VM's
U kunt de doorvoer van Windows-VM's testen met behulp van NTTTCP of linux-VM's met behulp van NTTTCP-for-Linux.
VM's voorbereiden en NTTTCP-for-Windows installeren
Download op zowel de afzender- als ontvanger-VM's de nieuwste versie van NTTTCP in een afzonderlijke map, zoals c:\tools.
Open de Windows-opdrachtregel en navigeer naar de map waar u ntttcp.exe hebt gedownload.
Maak op de ontvanger-VM een Windows Firewall-regel
allow
om toe te staan dat het NTTTCP-verkeer binnenkomt. Het is eenvoudiger om nttcp.exe op naam toe te staan dan om specifieke binnenkomende TCP-poorten toe te staan. Voer de volgende opdracht uit, waarbij uc:\tools
het downloadpad vervangt door ntttcp.exe indien anders.netsh advfirewall firewall add rule program=c:\tools\ntttcp.exe name="ntttcp" protocol=any dir=in action=allow enable=yes profile=ANY
Als u uw configuratie wilt bevestigen, gebruikt u de volgende opdrachten om één TCP-stream (Transfer Control Protocol) gedurende 10 seconden te testen op de virtuele machines van de ontvanger en afzender:
Ontvanger-VM
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
Afzender-VM
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
Notitie
Gebruik de voorgaande opdrachten alleen om de configuratie te testen.
Tip
Wanneer u de test voor de eerste keer uitvoert om de installatie te controleren, gebruikt u een korte testduur om snel feedback te krijgen. Zodra u hebt gecontroleerd of het hulpprogramma werkt, verlengt u de testduur tot 300 seconden voor de meest nauwkeurige resultaten.
Doorvoertests uitvoeren
Voer de test 300 seconden of vijf minuten uit op zowel de afzender- als de ontvanger-VM's. De afzender en ontvanger moeten dezelfde testduur voor de -t
parameter opgeven.
Voer op de ontvanger-VM de volgende opdracht uit, waarbij u de
<number of VM cores>
tijdelijke aanduidingen vervangt<receiver IP address>
door uw eigen waarden.ntttcp -r -m [<number of VM cores> x 2],*,<receiver IP address> -t 300
ntttcp -r -m 4,*,10.0.0.5 -t 300
Voer op de afzender-VM de volgende opdracht uit. De opdrachten voor afzender en ontvanger verschillen alleen in de
-s
of-r
parameter die de afzender of ontvanger-VM aanwijst.ntttcp -s -m [<number of VM cores> x 2],*,<receiver IP address> -t 300
ntttcp -s -m 4,*,10.0.0.5 -t 300
Wacht op de resultaten.
Wanneer de test is voltooid, moet de uitvoer er ongeveer uitzien als in het volgende voorbeeld:
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
Doorvoer testen tussen een Windows-VM en een Linux-VM
Als u NTTTCP-doorvoertests tussen een Windows-VM en een Linux-VM wilt uitvoeren, schakelt u de modus Zonder synchronisatie in met behulp van de -ns
vlag in Windows of de -N
vlag op Linux.
Voer de volgende opdracht uit om te testen met de Windows-VM als ontvanger:
ntttcp -r -m [<number of VM cores> x 2],*,<Linux VM IP address> -t 300
Als u wilt testen met de Windows-VM als afzender, voert u de volgende opdracht uit:
ntttcp -s -m [<number of VM cores> x 2],*,<Linux VM IP address> -ns -t 300