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
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.
Öffnen Sie die Windows-Befehlszeile, und navigieren Sie zu dem Ordner, in den Sie ntttcp.exe heruntergeladen haben.
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 Siec:\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
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.
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
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
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