Freigeben über


Testen des VM-Netzwerkdurchsatzes mithilfe von NTTTCP

In diesem Artikel wird beschrieben, wie Sie das kostenlose NTTTCP-Tool von Microsoft verwenden, um die Netzwerkbandbreite und die Durchsatzleistung auf virtuellen Azure Windows- oder Linux-Computern (VMs) zu testen. Ein Tool wie NTTTCP zielt auf das Netzwerk zum Testen und minimiert die Verwendung anderer Ressourcen, die sich auf die Leistung auswirken könnten.

Voraussetzungen

  • Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
  • Zwei virtuelle Windows- oder Linux-Computer in Azure. Erstellen Sie einen virtuellen Windows-Computer oder einen virtuellen Linux-Computer.
    • Um den Durchsatz zu testen benötigen Sie zwei VMs der gleichen Größe, die als Sender und Empfänger funktionieren. Die beiden VMs sollten sich in derselben Näherungsplatzierungsgruppe oder Verfügbarkeitsgruppe befinden, damit Sie ihre internen IP-Adressen verwenden und Lastenausgleichsmodule aus dem Test ausschließen können.
    • Notieren Sie sich die Anzahl der VM-Kerne und die IP-Adresse der Empfänger-VM, die in den Befehlen verwendet werden sollen. Sowohl die Sender- als auch die Empfängerbefehle verwenden die IP-Adresse des Empfängers.

Hinweis

Das Testen mithilfe einer virtuellen IP-Adresse ist möglich, liegt jedoch außerhalb des Umfangs dieses Artikels.

In diesem Artikel verwendete Beispiele

Einstellung Wert
IP-Adresse des virtuellen Empfängercomputers 10.0.0.5
Anzahl von VM-Kernen 2

Testen des Durchsatzes mit Windows-VMs oder Linux-VMs

Sie können den Durchsatz von Windows-VMs mithilfe von NTTTCP oder von Linux-VMs mithilfe von NTTTCP für Linux testen.

Vorbereiten der virtuellen Computer und Installieren von NTTTCP-for-Windows

  1. Laden Sie die neueste Version von NTTTCP sowohl auf der Sender- als auch auf der Empfänger-VM in einen separaten Ordner wie c:\tools herunter.

  2. Öffnen Sie die Windows-Befehlszeile, und navigieren Sie zu dem Ordner, in den Sie ntttcp.exe heruntergeladen haben.

  3. Erstellen Sie auf dem virtuellen Empfängercomputer eine Windows Firewall-Regel vom Typ allow, damit der NTTTCP-Datenverkehr empfangen werden kann. Es ist einfacher, nttcp.exe namentlich zuzulassen, als bestimmte eingehende TCP-Ports zuzulassen. Führen Sie den folgenden Befehl aus, und ersetzen Sie c:\tools durch Ihren Downloadpfad für ntttcp.exe, falls unterschiedlich.

    netsh advfirewall firewall add rule program=c:\tools\ntttcp.exe name="ntttcp" protocol=any dir=in action=allow enable=yes profile=ANY
    
  4. Verwenden Sie zum Überprüfen Ihrer Konfiguration die folgenden Befehle, um auf den virtuellen Computern, die als Empfänger bzw. als Absender fungieren, zehn Sekunden lang einen einzelnen TCP-Stream (Transfer Control Protocol) zu testen:

    Virtueller Empfängercomputer

    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
    

    Virtueller Absendercomputer

    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
    

    Hinweis

    Verwenden Sie vorstehenden Befehle nur, um die Konfiguration zu testen.

    Tipp

    Wenn Sie den Test zum ersten Mal ausführen, um das Setup zu überprüfen, verwenden Sie eine kurze Testdauer, um schnelles Feedback zu erhalten. Nachdem Sie überprüft haben, dass das Tool wie erwartet funktioniert, erweitern Sie den Testzeitraum auf 300 Sekunden, um die genauesten Ergebnisse zu erhalten.

Ausführen von Durchsatztests

Führen Sie den Test 300 Sekunden (oder fünf Minuten) lang auf den VMs des Senders und des Empfängers aus. Der Sender und der Empfänger müssen für den -t-Parameter dieselbe Testdauer angeben.

  1. Führen Sie auf der Empfänger-VM den folgenden Befehl aus, und ersetzen Sie dabei die Platzhalter <number of VM cores> und <receiver IP address> durch Ihre eigenen Werte.

    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. Führen Sie auf der Sender-VM den folgenden Befehl aus. Die Sender- und Empfängerbefehle unterscheiden sich nur in den -s- oder -r-Parametern, welche die Sender- oder Empfänger-VM angeben.

    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. Warten Sie auf die Ergebnisse.

Nach Abschluss des Tests sollte die Ausgabe in etwa wie im folgenden Beispiel aussehen:

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

Testen des Durchsatzes zwischen einer Windows-VM und einer Linux-VM

Um NTTTCP-Durchsatztests zwischen einer Windows-VM und einer Linux-VM auszuführen, aktivieren Sie den Modus ohne Synchronisierung, indem Sie das -ns-Flag auf Windows oder das -N-Flag auf Linux verwenden.

Führen Sie den folgenden Befehl aus, um mit der Windows-VM als Empfänger zu testen:

ntttcp -r -m [<number of VM cores> x 2],*,<Linux VM IP address> -t 300

Führen Sie den folgenden Befehl aus, um mit der Windows-VM als Sender zu testen:

ntttcp -s -m [<number of VM cores> x 2],*,<Linux VM IP address> -ns -t 300

Nächste Schritte