iperf3-Tutorial: Netzwerkgeschwindigkeit unter Linux und Windows testen
10 Min. Lesezeit - 7. Mai 2026

Installieren Sie iperf3, führen Sie Bandbreitentests durch und optimieren Sie die TCP-Puffer, um unter Linux und Windows genaue Ergebnisse zu erhalten. Behandelt werden UDP-, bidirektionale und 10GbE+-Tests.
iperf3-Tutorial: Messen der Netzwerkleistung unter Linux und Windows
iperf3 ist ein Befehlszeilentool zur Messung von Netzwerkbandbreite, Jitter und Paketverlust zwischen zwei Rechnern. Es nutzt ein Client-Server-Modell: Ein Rechner empfängt, der andere sendet Datenverkehr, und Sie erhalten präzise Durchsatzwerte. Diese Anleitung behandelt die Installation, grundlegende und fortgeschrittene Tests sowie die Optimierung Ihres Systems für genaue Ergebnisse bei Hochgeschwindigkeitsverbindungen.
Installation 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
Unter Fedora 22+ oder CentOS 8+, Rocky oder AlmaLinux:
sudo dnf install iperf3
Unter CentOS 7 verwenden Sie yum stattdessen. Falls das Paket nicht gefunden wird, aktivieren Sie zunächst 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-Repo „ar51an/iperf3-win-builds“ herunter. Entpacken Sie sie in einen Ordner wie C:\iperf3, und überprüfen Sie anschließend:
cd C:\iperf3
iperf3.exe -v
Um iperf3 von einem beliebigen Verzeichnis aus ausführen zu können, fügen Sie den Ordner über „Systemeigenschaften“ > „Erweitert“ > „Umgebungsvariablen“ zum System-PATH hinzu. Außerdem müssen Sie in der Windows Defender-Firewall eine eingehende Firewall-Regel erstellen, die TCP auf Port 5201 zulässt.
Einrichten des Servers
Starten Sie den Server mit:
iperf3 -s
Dieser lauscht standardmäßig auf dem TCP-Port 5201. Um ihn im Hintergrund mit Protokollierung auszuführen:
iperf3 -s -D --logfile /var/log/iperf3.log
Überprüfen Sie, ob er läuft, mit ss -tulpn | grep 5201.
Falls Port 5201 in Ihrem Netzwerk blockiert ist, verwenden Sie -p , um einen anderen Port auszuwählen. Um eine Verbindung zu einer bestimmten Schnittstelle herzustellen, verwenden Sie -B:
iperf3 -s -B 192.168.1.10
Für einmalige Tests iperf3 -s -1 wird eine einzelne Client-Verbindung verarbeitet und das Programm anschließend beendet. Bei Verbindungen mit hoher Bandbreite (40 Gbit/s+) sollten Sie mehrere Serverinstanzen auf unterschiedlichen Ports ausführen, um die Einschränkungen durch Single-Thread-CPUs 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
Einfacher 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
Bei 10-Gbit/s- oder 25-Gbit/s-Verbindungen erreicht ein einzelner TCP-Stream aufgrund der Beschränkungen von Single-Core-CPUs oft nur 3–5 Gbit/s. Verwenden Sie parallele Streams, um die Verbindung auszureizen:
iperf3 -c 192.168.1.10 -P 8
Auswertung der Ergebnisse
Jede Intervallzeile zeigt „Transfer“ (gesendete Daten) und „Bitrate“ (Durchsatz) an. Achten Sie bei TCP außerdem auf:
- Retr (Wiederholungsübertragungen). Hohe Werte deuten auf Paketverlust oder Überlastung hin.
- Cwnd (Überlastungsfenster). Ist dieser Wert niedrig oder bleibt er stehen, begrenzen Puffer- oder Fenstergrößen den Durchsatz.
Bei einer unbelasteten 1-Gbit/s-Verbindung sind nach Abzug des Protokoll-Overheads etwa 940 Mbit/s zu erwarten. Der Test endet mit Zusammenfassungszeilen für Sender und Empfänger. In einem stabilen Netzwerk sollten diese Werte nahezu übereinstimmen.
Bei UDP-Tests (-u Flag) enthält die Ausgabe zusätzlich Jitter (Variation bei der Paketankunft) sowie verlorene und gesamte Datagramme. Ein Jitter unter 1 ms und 0 % Verlust sind ideal für Echtzeitverkehr wie VoIP.
Nützliche Flags
| Flag | Zweck |
|---|---|
-c <IP> | Verbindung zum Server herstellen |
-p <port> | Einen bestimmten Port verwenden (Standard: 5201) |
-t <sec> | Testdauer in Sekunden (Standard: 10) |
-i <sec> | Berichtsintervall |
-P <num> | Parallele Streams |
-u | UDP-Modus |
-b <n>M | Zielbandbreite (UDP; Standardwert ist 1 Mbit/s, falls nicht angegeben) |
-R | Reverse-Modus (Server sendet, Client empfängt) |
-w <n>K | TCP-Fenster-/Socket-Puffergröße |
-J | JSON-Ausgabe |
-Z | Zerocopy (reduziert die CPU-Auslastung bei schnellen Verbindungen) |
Erweiterte Tests
Bidirektionale Tests
Das --bidir Flag (iperf3 3.7+) testet Upload und Download gleichzeitig:
iperf3 -c 192.168.1.10 --bidir
Beide Verbindungen gehen vom Client aus, sodass dies über NAT funktioniert, ohne dass zusätzliche Ports geöffnet werden müssen. Wenn die Ergebnisse der bidirektionalen Tests deutlich niedriger sind als die der unidirektionalen Tests, hat Ihr Router oder Kabelmodem möglicherweise Probleme mit Vollduplex-Datenverkehr.
Reverse-Modus
Das -R Flag kehrt den Datenfluss um, sodass der Server sendet und der Client empfängt. Dadurch wird die Download-Geschwindigkeit gemessen, ohne die Rollen zu vertauschen:
iperf3 -c 192.168.1.10 -t 30 -i 5 -R
Große Unterschiede zwischen den Ergebnissen im Vorwärts- und Rückwärtsmodus deuten auf asymmetrische Pfade, Überlastung oder Fehlkonfigurationen der Puffer hin.
UDP-Tests
UDP-Tests decken Jitter und Paketverluste auf, die bei TCP durch Wiederholungsübertragungen verdeckt werden. Legen Sie immer eine Zielbandbreite fest, -b, da iperf3 standardmäßig 1 Mbit/s für UDP verwendet:
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ätsrichtwerte: Ein Jitter unter 5 ms ist für VoIP gut, über 30 ms führt zu hörbaren Problemen. Ein Paketverlust von über 0,1 % beeinträchtigt Echtzeitmedien merklich.
Optimierung und Fehlerbehebung
Häufige Probleme
Sie erreichen auf einer Gigabit-Verbindung nur 100 Mbit/s? Überprüfen Sie die Geschwindigkeit Ihrer physischen Schnittstelle mit ethtool eth0. Die Auto-Negotiation schlägt manchmal fehl und drosselt die Verbindung auf eine niedrigere Geschwindigkeit.
MSS zeigt bei Ethernet 536 Byte an? Wahrscheinlich ist „Path MTU Discovery“ deaktiviert. Der 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. Ein MSS von 536 Byte verschwendet Bandbreite und verursacht zusätzlichen Overhead.
Die CPU läuft bei schnellen Verbindungen auf Hochtouren? Verwenden Sie -Z (Zerocopy), um die CPU-Auslastung zu reduzieren. Bei 40 Gbit/s und mehr sollten Sie mehrere Serverinstanzen auf verschiedenen Ports ausführen und diese auf die CPU-Kerne verteilen.
Uneinheitliche Ergebnisse? Verwenden Sie -O 3 , um die ersten paar Sekunden auszulassen, während sich das TCP-Überlastungsfenster aufbaut. Halten Sie zwischen den Testläufen 30 Sekunden Pause ein, um die Netzwerkpuffer zu leeren.
Ist ein einzelner Stream deutlich langsamer als mehrere parallele Streams zusammen? Wenn ein einzelner Stream 200 Mbps erreicht, acht Streams zusammen jedoch 1,6 Gbps, wird der einzelne Stream durch das TCP-Fenster oder die Betriebssystempuffer gedrosselt. Passen Sie die Puffer wie unten beschrieben an.
TCP-Pufferoptimierung
Berechnen Sie zunächst das Bandbreiten-Verzögerungs-Produkt (BDP): Bandbreite × RTT. Eine 10-Gbit/s-Verbindung mit 50 ms RTT ergibt ein BDP von 62,5 MB. Stellen Sie Ihren maximalen Puffer auf mindestens das Doppelte des BDP ein.
Fügen Sie diese Werte /etc/sysctl.d/99-tcp-tuning.conf und wenden Sie dies an mit sudo sysctl -p:
| Parameter | Empfohlen (1–10 Gbit/s) |
|---|---|
net.core.rmem_max | 134217728 (128 MB) |
net.core.wmem_max | 134217728 (128 MB) |
net.ipv4.tcp_rmem | 4096 131072 134217728 |
net.ipv4.tcp_wmem | 4096 131072 134217728 |
net.core.default_qdisc | fq |
net.ipv4.tcp_congestion_control | bbr |
Setzen Sie net.ipv4.tcp_moderate_rcvbuf den Wert auf 1, damit der Kernel die Werte innerhalb dieser Bereiche automatisch anpasst. Aktivieren Sie net.ipv4.tcp_window_scaling (auf 1 setzen), um TCP-Fenster größer als 64 KB zu ermöglichen.
Sie können auch vom standardmäßigen CUBIC-Überlastungsalgorithmus auf Googles BBR umstellen. Auf Verbindungen mit hoher Latenz und gelegentlichem Paketverlust liefert BBR durchweg einen höheren Durchsatz als CUBIC.
Verwenden Sie das -w Flag in iperf3, um bestimmte Puffergrößen zu testen; beachten Sie jedoch, dass diese den vom Kernel festgelegten Wert rmem_max oder wmem_max. Beginnen Sie mit 8 MB für Gigabit-Verbindungen und 512 KB für 100 Mbit/s.
Wenn Sie dedizierte Server bereitstellen und die Netzwerkleistung überprüfen möchten, führen Sie unmittelbar nach der Einrichtung sowie nach jeder Netzwerkänderung iperf3-Basistests durch, um Leistungsrückgänge frühzeitig zu erkennen.
Video-Empfehlung

iperf3-Tutorial: Netzwerkgeschwindigkeit unter Linux und Windows testen
Installieren Sie iperf3, führen Sie Bandbreitentests durch und optimieren Sie die TCP-Puffer, um unter Linux und Windows genaue Ergebnisse zu erhalten. Behandelt werden UDP-, bidirektionale und 10GbE+-Tests.
10 Min. Lesezeit - 7. Mai 2026
Optimierte Profile für die Workload-Optimierung von Linux-Servern
16 Min. Lesezeit - 9. Juni 2026

Haben Sie Fragen oder benötigen Sie eine individuelle Lösung?
Flexible Optionen
Globale Reichweite
Sofortige Bereitstellung
Flexible Optionen
Globale Reichweite
Sofortige Bereitstellung