Vm-netwerkdoorvoer testen met behulp van NTTTCP

Let op

In dit artikel wordt verwezen naar CentOS, een Linux-distributie die de status End Of Life (EOL) nadert. Houd rekening met uw gebruik en plan dienovereenkomstig. Zie de Richtlijnen voor het einde van de levensduur van CentOS voor meer informatie.

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 (VIP) 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

  1. Download op zowel de afzender- als ontvanger-VM's de nieuwste versie van NTTTCP in een afzonderlijke map, zoals c:\tools.

  2. Open de Windows-opdrachtregel en navigeer naar de map waar u ntttcp.exe hebt gedownload.

  3. 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 u c:\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
    
  4. 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.

  1. 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
    
  2. 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
    
  3. 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

Volgende stappen