GNU/Linux >> Znalost Linux >  >> Cent OS

Jak používat Iperf k testování výkonu sítě v Linuxu

iperf je nástroj používaný pro testování výkonu sítě mezi dvěma systémy. Aplikace iperf poskytuje více metrik pro výkon sítě. Aplikace iperf není standardně nainstalována, ale poskytuje ji správce balíčků většiny distribucí.

Pro systémy CentOS/RHEL/Fedora použijte k instalaci balíčku iperf yum.

# yum install iperf

iperf má pojem „klient“ a „server“ pro testování propustnosti sítě mezi dvěma systémy.

Následující příklad nastavuje velkou velikost vyrovnávací paměti pro odesílání a přijímání, aby se maximalizovala propustnost, a provádí test po dobu 60 sekund, což by mělo být dostatečně dlouhé, aby bylo možné plně využít síť.

Server

V systému serveru je iperf řečeno, aby naslouchal připojení klienta:

server # iperf3 -i 10 -s

Zde,
-i – interval poskytování pravidelných aktualizací šířky pásma
-s – poslouchat jako server

Další informace o konkrétních přepínačích příkazového řádku naleznete v man iperf3.

Klient

Na klientském systému je iperf řečeno, aby se připojil k naslouchajícímu serveru prostřednictvím názvu hostitele nebo IP adresy:

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

Zde,
-i – interval poskytování pravidelných aktualizací šířky pásma
-w – velikost vyrovnávací paměti soketu (která ovlivňuje okno TCP). Velikost vyrovnávací paměti se také nastavuje na serveru tímto klientským příkazem
-t – čas pro provedení testu v sekundách
-c – připojte se k naslouchajícímu serveru na…

Další informace o konkrétních přepínačích příkazového řádku naleznete v man iperf3.

Výsledky testu

Jakmile je test dokončen, klient i server hlásí své výsledky:

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

Klient

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

Čtení výsledků

Mezi těmito dvěma systémy bychom mohli dosáhnout šířky pásma 15,4 gigabitů za sekundu nebo přibližně 1835 MiB (mebibajtů) za sekundu.

Zde
Interval znamená testovací interval, výchozí hodnota je 10 sekund a zobrazuje se jako „0,0–10,0 s“
Přenos znamená, kolik dat se v procesu testování přenese mezi dvěma uzly.
Šířka pásma je ukazatel výkonu, pro který používáme testování iperf.

Poznámka :Server ve výchozím nastavení naslouchá na portu TCP 5201. Tento port bude muset být povolen přes všechny přítomné brány firewall. Použitý port lze změnit pomocí volby -p příkazového řádku.

Testování výkonu sítě pomocí protokolu UDP

Výchozí iperf používá pro testování protokol TCP, jak je uvedeno výše. Přidejte možnost „-u ” pro použití protokolu UDP pro testování výkonu.

1. Prvním krokem je spuštění serveru.

# 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. Příkaz na straně klienta je uveden níže.

# 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%)

Změna výchozí šířky pásma v režimu UDP

V režimu UDP klient používá výchozí šířku pásma (1 Mbit/s) k odesílání paketů na server, takže můžeme vidět, že výsledek testování UDP je 1,05 Mbit/s. Abychom získali nejlepší šířku pásma sítě, můžeme přidat možnost „-b value ” pro zvýšení šířky pásma odesílání:

# 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%)

Měření maximální přenosové velikosti (MTU)

Volba -m dává iperf pokyn, aby také našel maximální velikost přenosu (MTU):

# 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. Jak používat BusyBox na Linuxu

  2. Jak používat Su Command v Linuxu

  3. Jak používat příkaz Linux mtr

  1. Jak používám cron v Linuxu

  2. Jak používat FIND v Linuxu

  3. Jak používat příkaz ldconfig v Linuxu

  1. Jak používám nastavení usnadnění přístupu v systému Linux

  2. Jak používat pkgsrc na Linuxu

  3. Jak používat příkaz ipset v Linuxu