iPerf3 ist ein Werkzeug zur aktiven Messung der maximal erreichbaren Bandbreite in einem IP-Netzwerk. Es unterstützt die Anpassung verschiedener Parameter in Bezug auf Timing, Puffer und Protokolle (TCP, UDP, SCTP mit IPv4 und IPv6). Für jeden Test meldet er Bandbreite, Verlust und andere Parameter. Dies ist eine neue Implementierung, die keinen Code mit dem ursprünglichen iPerf teilt und nicht abwärtskompatibel ist. iPerf wurde ursprünglich von NLANR/DAST entwickelt. iPerf3 wurde hauptsächlich vom ESnet/Lawrence Berkeley National Laboratory entwickelt.
Die iperf-Tool-Familie führt aktive Messungen durch, um die maximal erreichbare Bandbreite in einem IP-Netzwerk zu bestimmen. Es unterstützt die Anpassung verschiedener Parameter im Zusammenhang mit Timing, Protokollen und Puffern. Für jeden Test werden die gemessenen Durchsatz-, Verlust- und andere Parameter gemeldet.
Diese Version, manchmal auch als iperf3 bezeichnet, ist ein Redesign der Originalversion, die von NLANR / DAST entwickelt wurde. IPERF3 ist eine neue Implementierung von Grund auf, die auf eine kleinere, einfachere Codebasis und eine Version der Bibliothek abzielt, die in anderen Programmen verwendet werden kann. IPERF3 integriert außerdem Funktionen aus vielen anderen Tools wie NUTTCP und Netperf, die im ursprünglichen IPERF fehlen. Dazu gehören zum Beispiel der Nullkopiermodus und optionaler JSON-Ausgang. Beachten Sie, dass iperf3 nicht abwärtskompatibel mit dem ursprünglichen iperf ist.
iPerf3 kann verwendet werden, um die Netzwerkkommunikationsgeschwindigkeit des Geräts zu testen, und iPerf3 kann auf zwei Computergeräten installiert werden, eines als Server und das andere als Client; die Kommunikationsgeschwindigkeit kann durch das Senden von Nachrichten über iPerf3 getestet werden.
Die iPerf3-Parameter sind wie folgt:
Usage: iperf [-s|-c host] [options] iperf [-h|--Hilfe] [-v|---Version]
Server oder Client: -p, --Port # Server-Port zum Zuhören/Verbinden -f, --format [kmgKMG] Format zur Meldung: Kbits, Mbits, KBytes, MBytes -i, --Intervall # Sekunden zwischen periodischen Bandbreitenberichten -F, --Dateiname xmit/recv die angegebene Datei -B, --binde <host> binde an eine bestimmte Schnittstelle -V, --ausführlichere Ausgaben -J, --json-Ausgabe im JSON-Format --Logfile f Ausgabe an eine Logdatei senden -d, --debugging emittiert Debugging-Ausgabe -v, --Version Versionsinformationen anzeigen und beenden -h, --hilf mir, diese Nachricht zu zeigen und kündige Serverspezifisch: -s, --Server läuft im Servermodus -D, --ein Dämon betreibt den Server als Dämon -Ich, --pidfile file write PID file file -1, --einmalig eine Client-Verbindung verwalten und dann beenden Kundenspezifisch: -c, --Client <host> läuft im Client-Modus, verbindet sich mit <host> -u, --udp verwenden UDP statt TCP -b, --Bandbreite #[KMG][/#] Zielbandbreite in Bits/Sekunde (0 für unbegrenzt) (Standard 1 Mbit/s für UDP, unbegrenzt für TCP) (optionaler Schrägstrich und Paketzählung für den Burst-Modus) -t, --Zeit # Zeit in Sekunden zum Senden für (standardmäßig 10 Sekunden) -n, --Bytes #[KMG] Anzahl der zu übertragenden Bytes (statt -t) -k, --Blockzählung #[KMG] Anzahl der zu übertragenden Blöcke (Pakete) (statt -t oder -n) -l, --len #[KMG] Pufferlänge zum Lesen oder Schreiben (Standard 128 KB für TCP, 8 KB für UDP) --cport <port> an einen bestimmten Client-Port binden (TCP und UDP, Standard: ephemerer Port) -P, --parallel # Anzahl der parallelen Client-Ströme, die ausgeführt werden sollen, -R, --Reverse läuft im Reverse-Modus (Server sendet, Client empfängt) -w, --Fenster #[KMG] Fenstergröße / Sockelpuffergröße festlegen -M, --set-mss # setze TCP/SCTP maximale Segmentgröße (MTU - 40 Bytes) -N, --ohne Verzögerung setzt TCP/SCTP ohne Verzögerung, deaktiviert Nagles Algorithmus -4, --Version 4 verwendet nur IPv4 -6, --version6 verwenden nur IPv6 -S, --tos N setze die IP 'Art des Services' -Z, --zerocopy verwenden eine 'zero copy'-Methode zum Senden von Daten -O, --lasse N weg, lass die ersten n Sekunden weg -T, --title str präfixiere jede Ausgabezeile mit dieser Zeichenkette --get-server-output erhalten Ergebnisse vom Server --udp-counters-64bit verwenden 64-Bit-Zähler in UDP-Testpaketen
[KMG] kennzeichnet Optionen, die ein K/M/G-Suffix für Kilo-, Mega- oder Giga- unterstützen.
IPERF3 Homepage unter:http://software.es.net/iperf/ Melden Sie Fehler an: https://github.com/esnet/iperf Windows-64-Bit-Download-Adresse:Der Hyperlink-Login ist sichtbar.
LINUX-Server, nehmen wir CentOS als Beispiel, können das iPerf3-Tool mit dem Befehl yum installieren, der Befehl lautet wie folgt:
Server
Mit dem Linux-Server als Serverseite führen Sie folgenden Befehl aus:
Kunde
Mit meinem lokalen Computer als Client-Seite führte ich folgenden Befehl aus:
Bemerkung:192.168.50.227 ist die IP-Adresse auf der Server-Seite
Zusammenfassung
Das Serverprotokoll zeigt, dass eine Testanfrage von 192.168.50.243, Quellport 22376, empfangen wurde. Die Client-Seite führt einen kontinuierlichen Test von 10 Sekunden durch und zeigt die Anzahl der pro Sekunde übertragenen Bytes sowie die Bandbreiteninformationen an. Die gesendeten und empfangenen Statistiken werden nach Abschluss des Tests zusammengefasst. Das Hören nach Port 5201 wird fortgesetzt, nachdem die Client-Verbindung geschlossen wurde.
Verbindung zum Host 192.168.50.227, Port 5201 [ 4] Local 192.168.50.243 Port 22377 verbunden mit 192.168.50.227 Port 5201 [ID] Intervall-Übertragungsbandbreite [ 4] 0,00–1,00 Sek 112 MBytes 943 Mbit/s [4] 1,00–2,00 Sek 112 MBytes 940 Mbit/s [ 4] 2,00–3,00 Sek 112 MBytes 941 Mbit/s [ 4] 3,00-4,00 Sek 112 MBytes 940 Mbit/s [ 4] 4,00–5,00 Sek 112 MBytes 941 Mbit/s [ 4] 5,00-6,00 Sek 112 MBytes 941 Mbit/s [ 4] 6,00-7,00 Sek 112 MBytes 942 Mbit/s [ 4] 7,00-8,00 Sek 112 MBytes 941 Mbit/s [ 4] 8,00-9,00 Sek 112 MBytes 942 Mbit/s [ 4] 9,00–10:00 Sek 112 MBytes 942 Mbit/s - - - - - - - - - - - - - - - - - - - - - - - - - [ID] Intervall-Übertragungsbandbreite [ 4] 0,00-10,00 Sek 1,10 GBytes 941 Mbit/s Sender [ 4] 0,00-10,00 sek 1,10 GBytes 941 Mbit/s Empfänger
Erledigt. Sowohl der Server als auch die Client-Geräte sind Gigabit-Etherports, und die Router sind ebenfalls Gigabit-Etherports, sodass eine Bandbreite von 941 Mbit/s normal ist.
Testen Sie virtuelle Maschinen unter ESXI
Beide sind CentOS-Systeme, und dem physischen Router wird eine private IP-Adresse zugewiesen, die über die private IP wie folgt getestet wird:
Verbindung zum Host 192.168.50.227, Port 5201 [ 5] Lokal 192.168.50.131 Port 35394 verbunden mit 192.168.50.227 Port 5201 [ID] Intervallübertragung Bitrate Retr cwnd [ 5] 0,00-1,00 Sek 2,72 GBytes 23,3 Gbit/s 0 1,39 MBytes [ 5] 1,00–2,00 Sek 2,74 GBytes 23,5 Gbit/s 0 1,48 MBytes [ 5] 2,00-3,00 Sek 2,60 GBytes 22,3 Gbit/s 0 1,48 MBytes [ 5] 3,00-4,00 Sek 2,58 GBytes 22,2 Gbit/s 0 1,48 MBytes [ 5] 4,00-5,00 Sek 2,67 GBytes 23,0 Gbit/s 0 1,48 MBytes [ 5] 5,00-6,00 Sek 2,65 GBytes 22,7 Gbit/s 0 1,48 MBytes [ 5] 6,00-7,00 Sek 2,67 GBytes 23,0 Gbit/s 0 1,48 MBytes [ 5] 7,00-8,00 Sek. 2,64 GBytes 22,7 Gbit/s 0 1,48 MBytes [ 5] 8,00-9,00 Sek 2,63 GBytes 22,6 Gbit/s 0 1,48 MBytes [ 5] 9,00-10,00 Sek 2,67 GBytes 22,9 Gbit/s 0 1,48 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ID] Intervallübertragungs-Bitraten-Retr [ 5] 0,00-10,00 Sek 26,6 GBytes 22,8 Gbit/s 0 Sender [ 5] 0,00-10,04 Sek 26,6 GBytes 22,7 Gbit/s Empfänger
Erledigt. Das ist etwas ungewöhnlich, da ich ein Gigabit-Router bin und die Testgeschwindigkeit bei 22,7 Gbit/s liegt – läuft das nicht über eine physische Netzwerkkarte?
Zugangsinformation:https://communities.vmware.com/t ... Routes/ta-p/2783083
VM1 und VM2 sind mit demselben vSwitch namens "vSwitch1" verbunden, mit derselben Portgruppe namens Production und ebenfalls mit demselben VLAN namens VLAN 20, und beide laufen ebenfalls im selben ESXi-Host namens ESX1. Netzwerkverkehr zwischen diesen VMs (VM1 & VM2) geht nicht zu physischen Netzwerkkarten auf dem ESXi-Host, und diese Frames werden auch nicht an das physische Netzwerk wie physische Switches und Router weitergeleitet, weil VMs das tun Kommunikation innerhalb des vSwitch und führt zu einer erhöhten Netzwerkgeschwindigkeit und geringerer Netzwerklatenz. VM1 und VM2 sind mit demselben vSwitch namens "vSwitch1", derselben Portgruppe namens Produktion und demselben VLAN namens VLAN 20 verbunden, und beide laufen im selben ESXi-Host namens ESX1. Netzwerkverkehr zwischen diesen VMs (VM1 und VM2).Geht nicht zur physischen Netzwerkkarte des ESXi-Hosts, und diese Rahmen auchSie wird nicht an das physische Netzwerk weitergeleitet(wie physische Switches und Router), weil VMs innerhalb des vSwitch kommunizieren, was zu höheren Netzwerkgeschwindigkeiten und weniger Netzwerklatenz führt.
Ich habe die Umgebung selbst getestet.Zwei VMs befinden sich auf demselben Host und vSwitch, aber nicht auf derselben PortgruppeEs scheint, dass sie nicht an die physische Netzwerkkarte und das physische Netzwerk weitergeleitet wird.
|