iperf3 Tutorial: Netzwerkgeschwindigkeit unter Linux und Windows testen

10 Min. Lesezeit - 7. Mai 2026

hero section cover
Inhaltsverzeichnis
  • iperf3 Tutorial: Messung der Netzwerkleistung unter Linux und Windows
  • Installieren von iperf3
  • Einrichten des Servers
  • Durchführung von Client-Tests
  • Fortgeschrittene Tests
  • Abstimmung und Fehlerbehebung
  • Video-Empfehlung
Teilen

Installieren Sie iperf3, führen Sie Bandbreitentests durch, und stimmen Sie TCP-Puffer für genaue Ergebnisse unter Linux und Windows ab. Umfasst UDP-, bidirektionale und 10GbE+-Tests

iperf3 Tutorial: Messung der Netzwerkleistung unter Linux und Windows

iperf3 ist ein Kommandozeilen-Tool zur Messung von Netzwerkbandbreite, Jitter und Paketverlusten zwischen zwei Rechnern. Es verwendet ein Client-Server-Modell: Ein Rechner hört zu, der andere sendet Daten, und Sie erhalten präzise Durchsatzzahlen. Dieser Leitfaden behandelt die Installation, grundlegende und fortgeschrittene Tests und wie Sie Ihr System für genaue Ergebnisse bei Hochgeschwindigkeitsverbindungen einstellen.

Installieren von iperf3

Debian / Ubuntu

sudo apt update
sudo apt install iperf3

Bestätigen Sie die Installation mit iperf3 --version. Installieren Sie es sowohl auf dem Server als auch auf den Client-Rechnern.

Fedora / CentOS / Rocky / Alma

Auf Fedora 22+ oder CentOS 8+, Rocky, oder AlmaLinux:

sudo dnf install iperf3

Unter CentOS 7 verwenden Sie stattdessen yum. Wenn das Paket nicht gefunden wird, aktivieren Sie zuerst das EPEL-Repository:

sudo yum install epel-release
sudo yum install iperf3

Wenn Ihre Firewall aktiv ist, öffnen Sie Port 5201:

sudo firewall-cmd --add-port=5201/tcp --permanent
sudo firewall-cmd --reload

Windows

Laden Sie die eigenständige ausführbare Datei von iperf .fr oder aus dem GitHub-Repository ar51an/iperf3-win-builds herunter. Entpacken Sie es in einen Ordner wie C:\iperf3 und überprüfen Sie es:

cd C:\iperf3
iperf3.exe -v

Um iperf3 von einem beliebigen Verzeichnis aus zu starten, fügen Sie den Ordner über Systemeigenschaften > Erweitert > Umgebungsvariablen zu Ihrem Systempfad hinzu. Außerdem müssen Sie eine Firewall-Regel für eingehende Verbindungen erstellen, die TCP auf Port 5201 in der Windows Defender Firewall zulässt.

Einrichten des Servers

Starten Sie den Server mit:

iperf3 -s

Dieser überwacht standardmäßig den TCP-Port 5201. Um ihn im Hintergrund mit Protokollierung laufen zu lassen:

iperf3 -s -D --logfile /var/log/iperf3.log

Überprüfen Sie mit ss -tulpn | grep 5201, ob er läuft.

Wenn Port 5201 in Ihrem Netzwerk blockiert ist, verwenden Sie -p, um einen anderen Port zu wählen. Um sich an eine bestimmte Schnittstelle zu binden, verwenden Sie -B:

iperf3 -s -B 192.168.1.10

Bei einmaligen Tests verarbeitet iperf3 -s -1 eine einzelne Client-Verbindung und beendet sich dann. Bei Verbindungen mit hoher Bandbreite (40 Gbps+) sollten Sie mehrere Serverinstanzen auf verschiedenen Ports laufen lassen, um die CPU-Beschränkungen für Single-Thread-Tests zu umgehen.

Stellen Sie sicher, dass Ihre Firewall den Datenverkehr auf dem gewählten Port zulässt. Unter Ubuntu/Debian mit UFW:

sudo ufw allow 5201/tcp
sudo ufw allow 5201/udp   # if testing UDP

Durchführung von Client-Tests

Grundlegender TCP-Test

iperf3 -c 192.168.1.10

Dieser Test misst die Upload-Bandbreite über TCP für 10 Sekunden. Verlängern Sie die Dauer mit -t:

iperf3 -c 192.168.1.10 -t 30

Auf 10 Gbit/s- oder 25 Gbit/s-Verbindungen erreicht ein einzelner TCP-Stream aufgrund der Beschränkung auf einen CPU-Kern oft nur eine Höchstgeschwindigkeit von 3-5 Gbit/s. Verwenden Sie parallele Streams, um die Verbindung zu sättigen:

iperf3 -c 192.168.1.10 -P 8

Lesen der Ergebnisse

Jede Intervallzeile zeigt Transfer (gesendete Daten) und Bitrate (Durchsatz) an. Für TCP, auch beobachten:

  • Retr (erneute Übertragungen). Hohe Zahlen bedeuten Paketverlust oder Überlastung.
  • Cwnd (Überlastungsfenster). Wenn es niedrig ist oder feststeckt, wird der Durchsatz durch Puffer- oder Fenstergrößenbeschränkungen begrenzt.

Bei einer sauberen 1-Gbit/s-Verbindung können Sie mit etwa 940 Mbit/s nach dem Protokoll-Overhead rechnen. Der Test endet mit einer Zusammenfassung für Sender und Empfänger. In einem stabilen Netzwerk sollten diese genau übereinstimmen.

Bei UDP-Tests( Flag-u ) werden in der Ausgabe Jitter (Varianz der Paketankunft) und verlorene/gesamte Datagramme hinzugefügt. Jitter unter 1 ms und 0% Verlust sind ideal für Echtzeitverkehr wie VoIP.

Nützliche Flaggen

FlaggeZweck
-c <IP>Verbindung zum Server herstellen
-p <Anschluss>Einen bestimmten Port verwenden (Standard: 5201)
-t <Sek>Testdauer in Sekunden (Standardwert: 10)
-i <Sek>Berichtsintervall
-P <Zahl>Parallele Ströme
-uUDP-Modus
-b <n>MZielbandbreite (UDP; standardmäßig 1 Mbps, wenn nicht angegeben)
-RUmgekehrter Modus (Server sendet, Client empfängt)
-w <n>KGröße des TCP-Fensters/Socket-Puffers
-JJSON-Ausgabe
-ZZerocopy (reduziert CPU auf schnellen Verbindungen)

Fortgeschrittene Tests

Bidirektionale Tests

Mit der Option --bidir (iperf3 3.7+) werden Upload und Download gleichzeitig getestet:

iperf3 -c 192.168.1.10 --bidir

Beide Verbindungen gehen vom Client aus, so dass dies durch NAT hindurch funktioniert, ohne zusätzliche Ports zu öffnen. Wenn die Ergebnisse der bidirektionalen Tests viel niedriger sind als die der einseitigen Tests, kann es sein, dass Ihr Router oder Kabelmodem Probleme mit Vollduplexverkehr hat.

Umgekehrter Modus

Das Flag -R kehrt den Datenfluss um, so dass der Server sendet und der Client empfängt. Dadurch wird die Download-Geschwindigkeit ohne Rollentausch gemessen:

iperf3 -c 192.168.1.10 -t 30 -i 5 -R

Große Unterschiede zwischen Vorwärts- und Rückwärtsergebnissen deuten auf asymmetrische Pfade, Überlastung oder Pufferfehlkonfigurationen hin.

UDP-Tests

UDP-Tests decken Jitter und Paketverluste auf, die TCP hinter erneuten Übertragungen verbirgt. Geben Sie immer eine Zielbandbreite mit -b an, da iperf3 für UDP standardmäßig 1 Mbps vorgibt:

iperf3 -c 192.168.1.10 -u -b 1G

Um VoIP-Verkehr zu simulieren (100 Anrufe, 200-Byte-Pakete):

iperf3 -c 192.168.1.10 -u -b 8M -l 200

Qualitätsbenchmarks: Jitter unter 5 ms ist gut für VoIP, über 30 ms verursacht hörbare Probleme. Paketverluste über 0,1 % verschlechtern die Echtzeit-Medien spürbar.

Abstimmung und Fehlerbehebung

Häufige Probleme

Sie erhalten nur 100 Mbps auf einer Gigabit-Verbindung? Überprüfen Sie die Geschwindigkeit Ihrer physischen Schnittstelle mit ethtool eth0. Die Autonegotiation schlägt manchmal fehl und reduziert die Geschwindigkeit der Verbindung.

MSS zeigt 536 Bytes auf dem Ethernet an? Die Pfad-MTU-Erkennung ist wahrscheinlich deaktiviert. Die Standard-MSS für eine MTU von 1.500 Byte beträgt 1.460 Byte. Verwenden Sie -m während des Tests, um dies zu überprüfen. Eine MSS von 536 Byte verschwendet Bandbreite und erhöht den Overhead.

Ist die CPU auf schnellen Verbindungen ausgelastet? Verwenden Sie -Z (zerocopy), um die CPU-Belastung zu verringern. Bei 40 Gbit/s+ lassen Sie mehrere Serverinstanzen auf verschiedenen Ports laufen und verteilen Sie sie auf die CPU-Kerne.

Inkonsistente Ergebnisse? Verwenden Sie -O 3, um die ersten paar Sekunden auszulassen, in denen das TCP-Überlastungsfenster ansteigt. Lassen Sie 30 Sekunden zwischen den Testläufen, um die Netzwerkpuffer zu leeren.

Ein einzelner Stream ist viel langsamer als parallele Streams zusammen? Wenn ein Stream 200 Mbit/s erreicht, aber acht Streams zusammen 1,6 Gbit/s erreichen, wird der einzelne Stream durch das TCP-Fenster oder die Betriebssystempuffer begrenzt. Stimmen Sie die Puffer unten ab.

Abstimmung der TCP-Puffer

Berechnen Sie zunächst das Bandbreiten-Verzögerungs-Produkt: Bandbreite x RTT. Eine 10-Gbit/s-Verbindung mit 50 ms RTT ergibt ein BDP von 62,5 MB. Setzen Sie Ihren maximalen Puffer auf mindestens das Doppelte des BDP.

Fügen Sie diese Einstellungen zu /etc/sysctl.d/99-tcp-tuning.conf hinzu und wenden Sie sie mit sudo sysctl -p an:

ParameterEmpfohlen (1-10 Gbps)
net.core.rmem_max134217728 (128 MB)
net.core.wmem_max134217728 (128 MB)
net.ipv4.tcp_rmem4096 131072 134217728
net.ipv4.tcp_wmem4096 131072 134217728
net.core.default_qdiscfq
net.ipv4.tcp_congestion_controlbbr

Setzen Sie net.ipv4.tcp_moderate_rcvbuf auf 1, damit der Kernel innerhalb dieser Bereiche eine automatische Anpassung vornimmt. Aktivieren Sie net.ipv4.tcp_window_scaling (auf 1 gesetzt) für TCP-Fenster, die größer als 64 KB sind.

Sie können auch vom standardmäßigen CUBIC-Überlastungsalgorithmus zu Googles BBR wechseln. Auf Verbindungen mit hoher Latenz und einigen Paketverlusten liefert BBR durchweg einen höheren Durchsatz als CUBIC.

Verwenden Sie das Flag -w in iperf3, um bestimmte Puffergrößen zu testen, aber beachten Sie, dass diese nicht die rmem_max oder wmem_max des Kernels überschreiten dürfen. Beginnen Sie mit 8 MB für Gigabit-Links, 512 KB für 100 Mbps.

Wenn Sie dedizierte Server bereitstellen und die Netzwerkleistung überprüfen wollen, führen Sie iperf3-Basistests direkt nach der Einrichtung und nach jeder Netzwerkänderung durch, um Regressionen frühzeitig zu erkennen.

Video-Empfehlung

Blog

Diese Woche im Blickpunkt

Weitere Artikel
iperf3 Tutorial: Netzwerkgeschwindigkeit unter Linux und Windows testen

iperf3 Tutorial: Netzwerkgeschwindigkeit unter Linux und Windows testen

Installieren Sie iperf3, führen Sie Bandbreitentests durch, und stimmen Sie TCP-Puffer für genaue Ergebnisse unter Linux und Windows ab. Umfasst UDP-, bidirektionale und 10GbE+-Tests

10 Min. Lesezeit - 7. Mai 2026

ZFS-Schnappschüsse: Wie man sie erstellt, wiederherstellt und automatisiert

10 Min. Lesezeit - 5. Mai 2026

Weitere Artikel
background image

Haben Sie Fragen oder benötigen Sie eine individuelle Lösung?

icon

Flexible Optionen

icon

Globale Reichweite

icon

Sofortige Bereitstellung

icon

Flexible Optionen

icon

Globale Reichweite

icon

Sofortige Bereitstellung