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

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
| Flagge | Zweck |
|---|---|
-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 |
-u | UDP-Modus |
-b <n>M | Zielbandbreite (UDP; standardmäßig 1 Mbps, wenn nicht angegeben) |
-R | Umgekehrter Modus (Server sendet, Client empfängt) |
-w <n>K | Größe des TCP-Fensters/Socket-Puffers |
-J | JSON-Ausgabe |
-Z | Zerocopy (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:
| Parameter | Empfohlen (1-10 Gbps) |
|---|---|
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 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

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

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