Performance von Netzwerken messen mit dem kostenlosen iPerf

    Kostenlose Studie: Was verdienen IT-Experten wirklich? Gliederung der Gehälter nach Berufserfahrung, Position und Funktion. Jetzt herunterladen »

    (Anzeige)

    iPerf App Windows StoreMöchte man Perfor­mance-Prob­lemen auf den Grund gehen und dafür den Durch­satz von Netz­werken messen, dann empfiehlt sich das Open-Source-Tool iPerf besonders in hetero­genen Umge­bungen. Es läuft unter anderem auf Windows, Linux, MacOS, ESXi und Android.

    Gerade in virtualisierten Umgebungen, wo sich mehrere VMs das Netzwerk des Hosts teilen und verschiedene Dienste über eine Verbindung laufen, ist es nicht ohne weiteres klar, welcher Durchsatz sich zwischen zwei Endpunkten erreichen lässt. Dabei kann es sich um Hosts, virtuelle Maschinen, Speichersysteme oder Endgeräte von Benutzern handeln.

    Start auf der Server-Seite

    Die Nutzung des Programms ist relativ einfach. Man startet es auf einer Maschine im Server-Modus, wo es dann auf eingehende Anfragen von Clients wartet:

    iPerf3.exe -s

    Dabei kann man einige Optionen angeben, allen voran den Port, auf den das Tool horchen soll. Es ist sinnvoll, diesen mit dem Parameter -p explizit zu wählen, weil die Versionen von iPerf für andere Systeme per Voreinstellung oft abweichende Werte wählen.

    Öffnen der Windows-Firewall für iPerf

    Je nachdem wofür man sich hier entscheidet, muss man dafür sorgen, dass die Firewall die Kommunikation nicht blockiert. Auf Rechnern, die über eine GUI verfügen, löst sich dieses Problem meist von selbst, weil Windows um entsprechende Erlaubnis nachfragt.

    Auf einem Server Core oder Nano Server kann man die Firewall für den Test mittels PowerShell abschalten, in diesem Beispiel für alle Profile:

    Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False

    Soll der Server eine bestimmte Datei an die Clients übertragen, dann gibt man diese mit dem Schalter -F an. Möchte man die Messung auf ein bestimmtes Interface einschränken, dann kann man dafür den Parameter -B plus IP-Adresse verwenden.

    iPerf im Client-Modus aufrufen

    Auf der Gegenstelle startet man iPerf mit dem Parameter -c, gefolgt vom Hostname oder der IP-Adresse des Servers. Neben den erwähnten Optionen für den Server unterstützt das Programm im Client-Modus noch weitere Schalter. Dazu zählen etwa -t für die Dauer des Tests in Sekunden, -4 bzw. -6 für IPv4 bzw. IPv6 oder -u für UDP. Eine komplette Liste erhält man über den Parameter /?.

    iPerf im Client-Modus unter Windows

    Um die Werte in GB/s auszugeben, verwendet man den Schalter -fG:

    iPerf3.exe -c 192.168.0.52 -t30 -fG -p 5201

    Auch als App für mobile Systeme

    Wie erwähnt, existiert iPerf für eine Vielzahl von Plattformen. Die Binaries für die meisten Systeme kann man kostenlos von iperf.fr herunterladen. Die Ausführungen für mobile Geräte finden sich in den jeweiligen App Stores. Dabei existiert sogar eine Universal Windows Platform (UWP) App, die auf Windows Phone läuft.

    Die UWP App erlaubt eine bequeme Eingabe der Parameter.

    iPerf für VMware ESXi nutzen

    Bei manchen Betriebs­systemen, in erster Linie einige Linux-Distributionen, gehört iPerf zum Lieferumfang. Das gilt auch für VMware ESXi, das seit der Version 6.0 das Performance-Tool mitbringt. Es befindet sich unter /usr/lib/vmware/vsan/bin. Um es aufrufen zu können, muss man entweder die Shell auf der DCUI starten oder eine SSH-Verbindung mit dem Host herstellen.

    Dort sind allerdings ein paar Besonderheiten zu beachten. So scheitert der Aufruf des Programm üblicherweise mit der Meldung bind failed: Operation not permitted. In diesem Fall hilft es, die Datei umzukopieren:

    cp perf perf.exe

    Diese neue Datei kann man mit den beschriebenen Client-Parametern aufrufen. Startet man sie im Server-Modus, dann kommt kein Datentransfer zustande, zumindest wenn auf der Gegenstelle Windows läuft. Um dennoch die Kommunikation von einem Endpunkt zum ESXi-Host zu testen, kann man am Client den Schalter -R angeben, um die Richtung umzudrehen.

    iPerf auf der Konsole von ESXi

    Auch unter ESXi muss man die Firewall kurzfristig deaktivieren. Dies lässt sich mit

    esxcli network firewall set --enabled false

    erreichen.

    Keine Kommentare