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: 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. Dieser Leitfaden 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
Verwenden Sie unter CentOS 7 stattdessen yum stattdessen. Wenn 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 dem GitHub-Repo ar51an/iperf3-win-builds herunter. Entpacken Sie sie in einen Ordner wie C:\iperf3und überprüfen Sie anschließend:
cd C:\iperf3
iperf3.exe -v
Um iperf3 von einem beliebigen Verzeichnis aus auszuführen, fügen Sie den Ordner über „Systemeigenschaften“ > „Erweitert“ > „Umgebungsvariablen“ zu Ihrem 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 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.
Wenn 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 verschiedenen Ports ausführen, um die Beschränkungen von 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
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
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 auszulasten:
iperf3 -c 192.168.1.10 -P 8
Auswerten der Ergebnisse
Jede Intervallzeile zeigt „Transfer“ (gesendete Daten) und „Bitrate“ (Durchsatz) an. Beachten Sie bei TCP außerdem:
- Retr (Wiederholungsübertragungen). Hohe Werte deuten auf Paketverlust oder Überlastung hin.
- Cwnd (Überlastungsfenster). Wenn dieser Wert niedrig ist oder stagniert, begrenzen Puffer- oder Fenstergrößen den Durchsatz.
Bei einer sauberen 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 weitgehend übereinstimmen.
Bei UDP-Tests (-u Flag) enthält die Ausgabe zusätzlich Jitter (Variation der Paketankunftszeiten) sowie verlorene/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 |
-p <port> | 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 gleichzeitig Upload und Download:
iperf3 -c 192.168.1.10 --bidir
Beide Verbindungen gehen vom Client aus, sodass dies über NAT funktioniert, ohne zusätzliche Ports zu öffnen. Wenn die bidirektionalen Ergebnisse deutlich niedriger sind als bei Einwegtests, 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 Forward- und Reverse-Ergebnissen deuten auf asymmetrische Pfade, Überlastung oder Fehlkonfigurationen des Puffers hin.
UDP-Tests
UDP-Tests decken Jitter und Paketverluste auf, die TCP durch erneute Übertragungen verdeckt. 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
Zur Simulation von VoIP-Verkehr (100 Anrufe, 200-Byte-Pakete):
iperf3 -c 192.168.1.10 -u -b 8M -l 200
Qualitätsbenchmarks: Ein Jitter unter 5 ms ist für VoIP gut, über 30 ms verursacht hörbare Probleme. Ein Paketverlust von über 0,1 % beeinträchtigt Echtzeitmedien merklich.
Optimierung und Fehlerbehebung
Häufige Probleme
Sie erreichen nur 100 Mbit/s auf einer Gigabit-Verbindung? Überprüfen Sie die Geschwindigkeit Ihrer physischen Schnittstelle mit ethtool eth0. Die Auto-Negotiation schlägt manchmal fehl und reduziert die Verbindung auf eine niedrigere Geschwindigkeit.
MSS zeigt 536 Byte bei Ethernet an? Path MTU Discovery ist wahrscheinlich deaktiviert. Der Standard-MSS für eine 1.500-Byte-MTU 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 ist bei schnellen Verbindungen ausgelastet? 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.
Inkonsistente Ergebnisse? Verwenden Sie -O 3 , um die ersten paar Sekunden auszulassen, während das TCP-Überlastungsfenster hochfährt. Lassen Sie 30 Sekunden zwischen den Testläufen, um die Netzwerkpuffer zu leeren.
Einzelner Stream deutlich langsamer als parallele Streams zusammen? Wenn ein Stream 200 Mbps erreicht, acht Streams zusammen aber 1,6 Gbps, begrenzen das TCP-Fenster oder die Betriebssystempuffer den einzelnen Stream. Passen Sie die Puffer unten an.
TCP-Pufferoptimierung
Berechne zunächst das Bandbreiten-Verzögerungsprodukt: Bandbreite x RTT. Eine 10-Gbit/s-Verbindung mit 50 ms RTT ergibt ein BDP von 62,5 MB. Stelle deinen maximalen Puffer auf mindestens das Doppelte des BDP ein.
Fügen Sie diese hinzu /etc/sysctl.d/99-tcp-tuning.conf und wenden Sie sie 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 |
Setze net.ipv4.tcp_moderate_rcvbuf den Wert auf 1, damit der Kernel innerhalb dieser Bereiche automatisch optimiert. Setze net.ipv4.tcp_window_scaling (auf 1 setzen) 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 -w Flag in iperf3, um bestimmte Puffergrößen zu testen, beachte jedoch, dass diese den Wert des Kernels 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 und nach jeder Netzwerkänderung iperf3-Basistests durch, um Regressionen frühzeitig zu erkennen.
Video-Empfehlung
Warum es wichtig ist, einen leistungsstarken und ungemessenen VPS zu haben
Sie brauchen zuverlässige Leistung und unbegrenzten Datenverkehr? Ein leistungsstarker VPS ohne Tarif bietet Ihnen die Geschwindigkeit, Skalierbarkeit und Bandbreite, die Sie benötigen, ohne dass Sie sich Gedanken über Nutzungsbeschränkungen machen müssen.
3 Min. Lesezeit - 9. Mai 2025
Wie man den Speicherplatz unter Linux optimiert
15 Min. Lesezeit - 22. 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