Zum Inhalt springen

iperf3

Aus Foxwiki

iperf3 - Messen der Internet-Protokoll-Bandbreite

Beschreibung

Messung des Netzwerkdurchsatzes

  • TCP
  • UDP
Implementierung

iperf3 ist eine neue Implementierung von iperf und nicht rückwärtskompatibel

Installation

sudo apt install iperf3
Dateien
/etc/init.d/iperf3
/etc/ufw/applications.d/iperf3

/usr/bin/iperf3

/usr/lib/systemd/system/iperf3.service

/usr/share/doc/iperf3/README.md.gz
/usr/share/doc/iperf3/changelog.Debian.gz
/usr/share/doc/iperf3/changelog.gz
/usr/share/doc/iperf3/copyright

/usr/share/man/man1/iperf3.1.gz

Aufruf

Server
iperf3 -s [options]
Client
iperf3 -c server [options]

Optionen

Allgemein

Unix GNU Parameter Beschreibung
-p --port n Server-Port zum Abhören/Verbinden auf n setzen (Standard 5201)
-f --format [kmgtKMGT] Format für die Berichterstattung: Kbits/Mbits/Gbits/Tbits
-i --interval n Pause von n Sekunden zwischen periodischen Durchsatzberichten; Standardwert ist 1, verwenden Sie 0, um diese Option zu deaktivieren.
-I --pidfile file Schreibt eine Datei mit der Prozess-ID, besonders nützlich bei der Ausführung als Daemon.
-F --file name Verwenden Sie eine Datei als Quelle (auf dem Sender) oder Senke (auf dem Empfänger) von Daten, anstatt nur zufällige Daten zu generieren oder diese zu verwerfen
  • Diese Funktion wird verwendet, um festzustellen, ob das Speichersubsystem den Engpass für Dateiübertragungen darstellt
  • Sie verwandelt iperf3 nicht in ein Dateiübertragungswerkzeug
  • Die Länge, die Attribute und in einigen Fällen auch der Inhalt der empfangenen Datei stimmen möglicherweise nicht mit denen der Originaldatei überein
-A --affinity n/n,m Legt die CPU-Affinität fest, sofern möglich (nur Linux, FreeBSD und Windows)
  • Sowohl auf dem Client als auch auf dem Server können Sie die lokale Affinität festlegen, indem Sie die n-Form dieses Arguments verwenden (wobei n eine CPU-Nummer ist)
  • Darüber hinaus können Sie auf der Client-Seite die Affinität des Servers für genau diesen einen Test mit der n,m-Form des Arguments überschreiben
  • Beachten Sie, dass bei Verwendung dieser Funktion ein Prozess nur an eine einzelne CPU gebunden ist (im Gegensatz zu einem Satz, der möglicherweise mehrere CPUs enthält)
-B --bind host[%dev] An die spezifische Schnittstelle binden, die mit der Adresse host
  • Wenn eine optionale Schnittstelle angegeben ist, wird sie als Abkürzung für --bind-dev dev behandelt.
  • Beachten Sie, dass für IPv6-Link-Local-Adressliterale ein Prozentzeichen und der Name des Schnittstellengeräts erforderlich sind.
--bind-dev dev An die angegebene Netzwerkschnittstelle binden
  • Diese Option verwendet SO_BINDTODEVICE und erfordert möglicherweise Root-Rechte. (Verfügbar unter Linux und möglicherweise anderen Systemen.)
-V --verbose gibt detailliertere Ausgaben
-J --json gibt im JSON-Format aus
--json-stream gibt im zeilenbegrenzten JSON-Format aus
--logfile file sendet die Ausgabe an eine Protokolldatei
--forceflush erzwingt das Leeren des Puffers in jedem Intervall
  • Wird verwendet, um Pufferung beim Senden der Ausgabe an eine Pipe zu vermeiden
--timestamps[=format] fügt am Anfang jeder Ausgabzeile einen Zeitstempel ein
  • Standardmäßig haben Zeitstempel das von ctime(1) ausgegebene Format
  • Optional kann = gefolgt von einer Formatspezifikation übergeben werden, um die Zeitstempel anzupassen, siehe strftime (3)
  • Wenn dieses optionale Format angegeben wird, muss das = unmittelbar auf die Option --timestamps folgen, ohne dass dazwischen Leerzeichen stehen
--rcv-timeout # Legt die Leerlauf-Zeitüberschreitung für den Empfang von Daten während aktiver Tests fest
  • Der Empfänger bricht einen Test ab, wenn für diese Anzahl von Millisekunden (standardmäßig 120000 ms oder 2 Minuten) keine Daten vom Sender empfangen werden
--snd-timeout # Zeitüberschreitung für nicht bestätigte TCP-Daten festlegen (sowohl für Test- als auch für Steuerverbindungen) Diese Option kann verwendet werden, um im Falle einer Netzwerkpartitionierung während eines Tests eine schnellere Testzeitüberschreitung zu erzwingen
  • Der erforderliche Parameter wird in ms angegeben und ist standardmäßig auf die Systemeinstellungen voreingestellt
  • Diese Funktionalität hängt von der Socket-Option TCP_USER_TIMEOUT ab und funktioniert nicht auf Systemen, die diese Option nicht unterstützen.
--use-pkcs1-padding Diese Option ist nur bei Verwendung der Authentifizierungsfunktionen von iperf3 sinnvoll.
  • Versionen von iperf3 vor 3.17 verwendeten PCKS1-Padding in den RSA-verschlüsselten Anmeldedaten, was anfällig für Seitenkanalangriffe war, durch die der private Schlüssel eines Servers offengelegt werden konnte
  • Ab iperf-3.17 wird OAEP-Padding verwendet, dies ist jedoch eine grundlegende Änderung, die mit älteren iperf3-Versionen nicht kompatibel ist
  • Verwenden Sie diese Option, um das weniger sichere, aber kompatiblere Verhalten beizubehalten
-d --debug Debugging-Ausgabe ausgeben
  • In erster Linie (möglicherweise ausschließlich) für Entwickler von Nutzen.
-v --version Versionsinformationen anzeigen und beenden.
-h --help Eine Hilfeübersicht anzeigen.

Parameter

Umgebungsvariablen

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Anwendung

IPv4

iperf3 -c speedtest.serverius.net -fm -p5002 -O2 -P5 -4
  Interval           Transfer     Bitrate         Retr
    0.00-10.00  sec  1.11 GBytes   951 Mbits/sec    0             sender
    0.00-10.01  sec  1.11 GBytes   951 Mbits/sec                  receiver
iperf3 -c speedtest.serverius.net -fm -p5002 -O2 -P5 -4 -R
  Interval           Transfer     Bitrate         Retr
    0.00-10.01  sec  1.10 GBytes   948 Mbits/sec  335             sender
    0.00-10.00  sec  1.10 GBytes   948 Mbits/sec                  receiver

IPv6

iperf3 -c speedtest.serverius.net -fm -p5002 -O2 -P5 -6
  Interval           Transfer     Bitrate         Retr
    0.00-10.00  sec  1.09 GBytes   938 Mbits/sec    0             sender
    0.00-10.01  sec  1.09 GBytes   938 Mbits/sec                  receiver
iperf3 -c speedtest.serverius.net -fm -p5002 -O2 -P5 -6 -R
  Interval           Transfer     Bitrate         Retr
    0.00-10.01  sec  1.09 GBytes   931 Mbits/sec  243             sender
    0.00-10.00  sec  1.09 GBytes   934 Mbits/sec                  receiver

Problembehebung

Konfiguration

Dateien

Datei Beschreibung


Anhang

Siehe auch



Dokumentation

Man-Page
  1. iperf3(1)


Projekt

  1. https://iperf.fr/iperf-download.php
  1. https://de.wikipedia.org/wiki/Iperf
  2. https://speedtest.serverius.net/