iPerf3 – Testen Sie die Netzwerkgeschwindigkeit/den Durchsatz in Linux

Iperf3 ist ein kostenloses Open-Source, plattformübergreifendes Befehlszeilenprogramm zur Durchführung von Echtzeit-Netzwerk-Durchsatzmessungen. Es ist eines der leistungsstärksten Werkzeuge zur Überprüfung der maximal erreichbaren Bandbreite in IP-Netzwerken (unterstützt IPv4 und IPv6).

Mit Iperf können Sie verschiedene Parameter im Zusammenhang mit Timing, Puffern und Protokollen wie TCP, UDP und SCTP anpassen. Es ist nützlich für Netzwerk-Performance-Abstimmungs-Operationen.

Um maximale oder verbesserte Netzwerk-Performance zu erzielen, müssen Sie die Durchsatz- sowie die Latenzfähigkeiten Ihres Netzwerks beim Senden und Empfangen erhöhen.

Bevor Sie jedoch mit der eigentlichen Abstimmung beginnen können, müssen Sie einige Tests durchführen, um allgemeine Netzwerk-Performance-Statistiken zu sammeln, die Ihren Abstimmungsprozess leiten werden.

Zu den Ergebnissen gehören Zeitintervall in Sekunden, übertragene Daten, Bandbreite (Übertragungsrate), Verlust und andere nützliche Netzwerk-Performance-Parameter. Es ist hauptsächlich dazu gedacht, bei der Abstimmung von TCP-Verbindungen über einen bestimmten Pfad zu unterstützen, und das ist es, worauf wir uns in diesem Leitfaden konzentrieren werden.

Anforderungen:

  • Zwei vernetzte Computer, auf denen beide Iperf3 installiert sind.So installieren Sie iPerf3 in Linux-Systemen

Wie man iPerf3 in Linux-Systemen installiert

Bevor Sie iperf3 verwenden, müssen Sie es auf den beiden Maschinen installieren, die Sie für die Benchmarking verwenden werden. Da iperf3 in den offiziellen Software-Repositories von den meisten gängigen Linux-Distributionen verfügbar ist, sollte die Installation einfach sein, indem Sie einen Paketmanager verwenden, wie gezeigt.

$ sudo apt install iperf3         [On Debian, Ubuntu and Mint]
$ sudo yum install iperf3         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a net-misc/iperf   [On Gentoo Linux]
$ sudo apk add iperf3             [On Alpine Linux]
$ sudo pacman -S iperf3           [On Arch Linux]
$ sudo zypper install iperf3      [On OpenSUSE]    

Sobald Sie iperf3 auf beiden Maschinen installiert haben, können Sie mit dem Testen der Netzwerkdurchsatz beginnen.

Wie man die Netzwerkgeschwindigkeit zwischen zwei Linux-Servern testet

Zuerst stellen Sie eine Verbindung zum Remote-Computer her, den Sie als Server verwenden werden, und starten iperf3 im Server-Modus mit der -s-Flagge, die standardmäßig auf Port 5201 lauscht.

Sie können das Format angeben (k, m, g für Kbits, Mbits, Gbits oder K, M, G für KBytes, Mbytes, Gbytes) zum Berichten, indem Sie den -f-Schalter wie gezeigt verwenden.

$ iperf3 -s -f K 

Wenn Port 5201 auf Ihrem Server von einem anderen Programm verwendet wird, können Sie einen anderen Port (z.B 3000) mit dem -p-Schalter wie gezeigt angeben.

$ iperf3 -s -p 3000

Optional können Sie den Server als Daemon ausführen, indem Sie die -D-Flagge verwenden und Server-Nachrichten in eine Log-Datei schreiben, wie folgt.

$ iperf3 -s -D > iperf3log 

Führen Sie auf Ihrem lokalen Rechner, den wir als Client behandeln (wo die eigentliche Leistungsmessung stattfindet), im Client-Modus iperf3 mit dem -c-Flag aus und geben Sie den Host an, auf dem der Server läuft (entweder unter Verwendung seiner IP-Adresse, seiner Domain oder seines Hostnamens).

$ iperf3 -c 192.168.10.1 -f K

Nach etwa 18 bis 20 Sekunden sollte der Client beendet werden und Ergebnisse produzieren, die die durchschnittliche Durchsatzrate für das Benchmarking anzeigen, wie im folgenden Screenshot gezeigt.

Test Network Throughput Between Servers
From the benchmark results, as shown in the above screenshot, there is a variation in values from the server and client. But, you should always consider using the results obtained from the iperf client machine in every test you carry out.

Wie man erweiterte Netzwerktest-Durchsatz in Linux durchführt

Es gibt eine Reihe von Client-spezifischen Optionen für die Durchführung eines erweiterten Tests, wie unten erklärt.

Einer der wichtigen Faktoren, die die Menge an Daten im Netzwerk zu einem gegebenen Zeitpunkt bestimmen, ist die TCP-Fenstergröße – sie ist wichtig beim Abstimmen von TCP-Verbindungen. Sie können die Fenstergröße/Socket-Puffergröße mit dem -w-Flag wie gezeigt setzen.

$ iperf3 -c 192.168.10.1 -f K -w 500K	

Um es im Reverse-Modus auszuführen, wobei der Server sendet und der Client empfängt, fügen Sie den Schalter -R hinzu.

$ iperf3 -c 192.168.10.1 -f K -w 500K -R	

Um einen bidirektionalen Test durchzuführen, was bedeutet, dass Sie die Bandbreite in beide Richtungen gleichzeitig messen, verwenden Sie die Option -d.

$ iperf3 -c 192.168.10.1 -f K -w 500K -d

Wenn Sie die Serverergebnisse im Client-Ausgabegerät erhalten möchten, verwenden Sie die Option --get-server-output.

$ iperf3 -c 192.168.10.1 -f K -w 500K -R --get-server-output
Get Server Network Results in the Client

Es ist auch möglich, die Anzahl der parallelen Client-Streams (zwei in diesem Beispiel), die gleichzeitig ausgeführt werden, mit den Optionen -P festzulegen.

$ iperf3 -c 192.168.10.1 -f K -w 500K -P 2

Weitere Informationen finden Sie in der Manpage von iperf3.

$ man iperf3

Das ist alles! Denken Sie daran, immer Netzwerk-Performance-Tests durchzuführen, bevor Sie zur eigentlichen Netzwerk-Performance-Optimierung übergehen. iperf3 ist ein leistungsstarkes Werkzeug, das sich zum Durchführen von Netzwerk-Durchsatztests eignet.

Haben Sie Gedanken zu teilen oder Fragen zu stellen, nutzen Sie das Kommentarfeld unten.

Source:
https://www.tecmint.com/test-network-throughput-in-linux/