GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So verwenden Sie Iperf zum Testen der Netzwerkleistung unter Linux

Das iperf ist ein Tool zum Testen der Netzwerkleistung zwischen zwei Systemen. Die iperf-Anwendung bietet mehr Metriken für die Leistung eines Netzwerks. Die iperf-Anwendung wird nicht standardmäßig installiert, aber sie wird vom Paketmanager der meisten Distributionen bereitgestellt.

Für CentOS/RHEL/Fedora-Systeme verwenden Sie yum, um das iperf-Paket zu installieren.

# yum install iperf

iperf hat die Begriffe „Client“ und „Server“ zum Testen des Netzwerkdurchsatzes zwischen zwei Systemen.

Das folgende Beispiel legt eine große Sende- und Empfangspuffergröße fest, um den Durchsatz zu maximieren, und führt einen Test für 60 Sekunden durch, was lang genug sein sollte, um ein Netzwerk vollständig auszulasten.

Server

Auf dem Serversystem wird iperf angewiesen, auf eine Clientverbindung zu warten:

server # iperf3 -i 10 -s

Hier
-ich – das Intervall zur Bereitstellung regelmäßiger Bandbreitenaktualisierungen
-s – als Server lauschen

Weitere Informationen zu bestimmten Befehlszeilenschaltern finden Sie in man iperf3.

Kunde

Auf dem Client-System wird iperf angewiesen, sich über den Hostnamen oder die IP-Adresse mit dem lauschenden Server zu verbinden:

client # iperf3 -i 10 -w 1M -t 60 -c [server hostname or ip address]

Hier
-ich – das Intervall zur Bereitstellung regelmäßiger Bandbreitenaktualisierungen
-w – die Socket-Puffergröße (die das TCP-Fenster beeinflusst). Die Puffergröße wird auch auf dem Server durch diesen Client-Befehl festgelegt
-t – die Zeit zum Ausführen des Tests in Sekunden
-c – Verbinden Sie sich mit einem lauschenden Server unter …

Weitere Informationen zu bestimmten Befehlszeilenschaltern finden Sie in man iperf3.

Testergebnisse

Sowohl der Client als auch der Server melden ihre Ergebnisse, sobald der Test abgeschlossen ist:

Server

server # iperf3 -i 10 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 10.0.0.2, port 22216
[  5] local 10.0.0.1 port 5201 connected to 10.0.0.2 port 22218
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-10.00  sec  17.5 GBytes  15.0 Gbits/sec                  
[  5]  10.00-20.00  sec  17.6 GBytes  15.2 Gbits/sec                  
[  5]  20.00-30.00  sec  18.4 GBytes  15.8 Gbits/sec                  
[  5]  30.00-40.00  sec  18.0 GBytes  15.5 Gbits/sec                  
[  5]  40.00-50.00  sec  17.5 GBytes  15.1 Gbits/sec                  
[  5]  50.00-60.00  sec  18.1 GBytes  15.5 Gbits/sec                  
[  5]  60.00-60.04  sec  82.2 MBytes  17.3 Gbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-60.04  sec  0.00 Bytes    0.00 bits/sec                  sender
[  5]   0.00-60.04  sec   107 GBytes  15.3 Gbits/sec                  receiver

Kunde

client # iperf3 -i 10 -w 1M -t 60 -c 10.0.0.1
Connecting to host 10.0.0.1, port 5201
[  4] local 10.0.0.2 port 22218 connected to 10.0.0.1 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-10.00  sec  17.6 GBytes  15.1 Gbits/sec    0   6.01 MBytes       
[  4]  10.00-20.00  sec  17.6 GBytes  15.1 Gbits/sec    0   6.01 MBytes       
[  4]  20.00-30.00  sec  18.4 GBytes  15.8 Gbits/sec    0   6.01 MBytes       
[  4]  30.00-40.00  sec  18.0 GBytes  15.5 Gbits/sec    0   6.01 MBytes       
[  4]  40.00-50.00  sec  17.5 GBytes  15.1 Gbits/sec    0   6.01 MBytes       
[  4]  50.00-60.00  sec  18.1 GBytes  15.5 Gbits/sec    0   6.01 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-60.00  sec   107 GBytes  15.4 Gbits/sec    0             sender
[  4]   0.00-60.00  sec   107 GBytes  15.4 Gbits/sec                  receiver

Lesen der Ergebnisse

Zwischen diesen beiden Systemen konnten wir eine Bandbreite von 15,4 Gigabit pro Sekunde oder ungefähr 1835 MiB (Mebibyte) pro Sekunde erreichen.

Hier
Intervall bedeutet das Testintervall, der Standardwert ist 10 Sekunden und wird als „0,0-10,0 Sek.“ angezeigt
Übertragung bedeutet, wie viele Daten während des Testvorgangs zwischen den beiden Knoten übertragen werden.
Bandbreite ist der Leistungsindikator, für den wir iperf-Tests verwenden.

Hinweis :Der Server lauscht standardmäßig auf TCP-Port 5201. Dieser Port muss durch alle vorhandenen Firewalls zugelassen werden. Der verwendete Port kann mit der Kommandozeilenoption -p geändert werden.

Testen der Netzwerkleistung mit dem UDP-Protokoll

Das Standard-iperf verwendet das TCP-Protokoll zum Testen, wie oben gezeigt. Option „-u hinzufügen “, um das UDP-Protokoll für Leistungstests zu verwenden.

1. Der erste Schritt besteht darin, den Server zu starten.

# iperf -s -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size:   124 KByte (default)
------------------------------------------------------------

[  3] local 1.1.1.1 port 5001 connected with 1.1.1.2 port 51598
[ ID] Interval       Transfer     Bandwidth       Jitter   Lost/Total Datagrams
[  3]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec  0.004 ms    0/  893 (0%)

2. Der Befehl auf der Client-Seite ist wie unten gezeigt.

# iperf -u -c server
------------------------------------------------------------
Client connecting to 1.1.1.1, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size:   124 KByte (default)
------------------------------------------------------------
[  3] local 1.1.1.2 port 51598 connected with 1.1.1.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec
[  3] Sent 893 datagrams
[  3] Server Report:
[ ID] Interval       Transfer     Bandwidth       Jitter   Lost/Total Datagrams
[  3]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec  0.004 ms    0/  893 (0%)

Ändern der Standardbandbreite im UDP-Modus

Im UDP-Modus verwendet der Client die Standardbandbreite (1 Mbit/s), um die Pakete an den Server zu senden, sodass wir sehen können, dass das Testergebnis für die Bandbreite des UDP 1,05 Mbit/s beträgt. Um die beste Netzwerkbandbreite zu erhalten, können wir die Option „-b value hinzufügen ” um die Sendebandbreite zu erhöhen:

# iperf -u -c server -b 1000M
------------------------------------------------------------
Client connecting to 1.1.1.1, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size:   124 KByte (default)
------------------------------------------------------------
[  3] local 1.1.1.2 port 58097 connected with 1.1.1.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.10 GBytes    948 Mbits/sec
[  3] Sent 806540 datagrams
[  3] Server Report:
[ ID] Interval       Transfer     Bandwidth       Jitter   Lost/Total Datagrams
[  3]  0.0-10.0 sec  1.08 GBytes    929 Mbits/sec  0.010 ms 16203/806540 (2%)

Messen der maximalen Übertragungsgröße (MTU)

Die Option -m weist iperf an, auch die maximale Übertragungsgröße (MTU) zu finden:

# iperf -mc 192.168.10.12
------------------------------------------------------------
Client connecting to 192.168.10.12, TCP port 5001
TCP window size: 19.3 KByte (default)
------------------------------------------------------------
[  3] local 192.168.10.13 port 46558 connected with 192.168.10.12 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   113 MBytes  94.7 Mbits/sec
[  3] MSS size 1448 bytes (MTU 1500 bytes, ethernet)


Cent OS
  1. So verwenden Sie BusyBox unter Linux

  2. Wie ich Cron unter Linux verwende

  3. So verwenden Sie FIND unter Linux

  4. So verwenden Sie den Su-Befehl unter Linux

  5. So verwenden Sie den Linux-Befehl mtr

So verwenden Sie den Linux-nohup-Befehl

So verwenden Sie Bash-Dateitestoperatoren in Linux

Einführung in VPN und hier erfahren Sie, wie Sie es unter Linux verwenden

Wie wir Linux Test Project verwenden, um Linux zu testen und zu verbessern

So konfigurieren und verwenden Sie die Netzwerkbrücke in Ubuntu Linux

So verwenden Sie den netstat-Befehl unter Linux