Torino ITA)
+39 01119115797
info@netpic.it

Misurazione delle performance di una rete con iPERF3

Misurazione delle performance di una rete con iPERF3

Una delle problematiche principali con cui ci scontriamo quando i nostri clienti lamentano problemi di prestazioni della loro rete locale  è la valutazione delle prestazioni. Per poter fare una analisi semplice coinvolgendo gli host della rete è possibile usare un tool molto comodo e performante, disponibile su sistemi operativi diversi, si chiama iPERF.

iPerf è un software che ci consente di misurare l’ampiezza di banda a disposizione delle reti IP. E’ arrivato alla versione 3, ma attenzione, le versioni non sono tra loro compatibili. Attualmente noi usiamo la versione 3, ma l’importante è ricordarsi di usare la stessa versione tra i dispositivi che vogliamo testare.

Questo potente tool si è diffuso molto grazie al fatto di essere multipiattaforma, ed essere utilizzabile anche su dispositivi mobili come Android e iOS, Inoltre consente di regolare numerosi parametri nell’analisi delle performance di rete per diversi protocolli. Queste caratteristiche lo hanno reso uno degli strumenti di riferimento per la diagnostica di rete.
La sua peculiarità di produrre risultati standard e di verificare in modo immediato la presenza di eventuali problemi di rete o di connettività, lo rende molto  apprezzato  da sistemisti e amministratori di sistema.

Vediamo di seguito alcuni esempi che ci mostrano come installare iPERF3 sia su Windows che su Linux, ed effettuare una misurazione della banda mediante un semplice test.

Installazione di iPERF3

A seconda della piattaforma è possibile scaricare un binario precompilato da utilizzare immediatamente:

Oppure possiamo scaricarlo liberamente dalla pagina ufficiale su Github:

Nel nostro caso usiamo il pacchetto .deb per la nostra Ubuntu Linux:

# wget https://iperf.fr/download/ubuntu/iperf3_3.9-1_amd64.deb
--2021-02-28 12:06:13-- https://iperf.fr/download/ubuntu/iperf3_3.9-1_amd64.deb
Resolving iperf.fr (iperf.fr)... 213.246.63.45, 2a00:c70:1:213:246:63:45:2
Connecting to iperf.fr (iperf.fr)|213.246.63.45|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 14328 (14K) [application/x-debian-package]
Saving to: ‘iperf3_3.9-1_amd64.deb’

iperf3_3.9-1_amd64.deb 100%[==================================================================================================================>] 13.99K --.-KB/s in 0.03s

2021-02-28 12:06:13 (500 KB/s) – ‘iperf3_3.9-1_amd64.deb’ saved [14328/14328]

# dpkg -i iperf3_3.9-1_amd64.deb
(Reading database ... 257454 files and directories currently installed.)
Preparing to unpack iperf3_3.9-1_amd64.deb ...
Unpacking iperf3 (3.9-1) over (3.1.3-1) ...
Setting up iperf3 (3.9-1) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...

Adesso facciamo lo stesso su un host della rete ma con sistema operativo Windows. In questo caso è possibile scaricare l’eseguibile dal sito ufficiale di iPerf. Il programma è contenuto in un package zip ed è una semplicissima utility a riga di comando, che quindi non necessita di installazione:

Esecuzione d utilizzo di iPERF3

A questo punto avremo due host distinti della rete, uno sarà messo in modalità ascolto (Ubuntu Linux) e l’altro fungerà da client da effettueremo il test

Su server Ubuntu, che nel nostro caso ha IP 192.168.1.254 lanciamo il comando nella modalità che consente al sistema di mettersi in ascolto come servizio sulla porta predefinita, ovvero la 5201:

# iperf3 -s

Sul client Windows, invece, lanciamo direttamente il test:

L’output è facilmente leggibile e ci offre un risultato immediato, circa l’ampiezza di banda (bandwidht) disponibile tra i due host coinvolti. Come possiamo notare questa immagine mostra i risultati  su tre colonne: sono i test sequenziali (in secondi) con i rispettivi MBytes trasferiti e il Bitrate (frequenza di trasferimento). Sul fondo vengono mostrati l totali dei valori, in MBytes,  trasferiti e la media della velocità di trasferimento, ovvero il dato maggiormente interessante nel test. L’opzione “-f K”  indica il formato di output dei valori (‘k’ = Kbits/sec ).

Sull’altro host otteniamo risultati del tutto simili:

# iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.1.25, port 54437
[ 5] local 192.168.1.254 port 5201 connected to 192.168.1.25 port 54438
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 104 MBytes 874 Mbits/sec
[ 5] 1.00-2.00 sec 113 MBytes 946 Mbits/sec
[ 5] 2.00-3.00 sec 113 MBytes 945 Mbits/sec
[ 5] 3.00-4.00 sec 113 MBytes 944 Mbits/sec
[ 5] 4.00-5.00 sec 113 MBytes 944 Mbits/sec
[ 5] 5.00-6.00 sec 112 MBytes 942 Mbits/sec
[ 5] 6.00-7.00 sec 106 MBytes 886 Mbits/sec
[ 5] 7.00-8.00 sec 105 MBytes 878 Mbits/sec
[ 5] 8.00-9.00 sec 91.7 MBytes 769 Mbits/sec
[ 5] 9.00-10.00 sec 108 MBytes 904 Mbits/sec
[ 5] 10.00-10.00 sec 400 KBytes 942 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.00 sec 1.05 GBytes 903 Mbits/sec receiver
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------

Nella nostra attività ci capita spesso di utilizzare dispositivi di backup di tipo QNAP, per cui è disponibile il pacchetto di iperf. Siccome sono spesso gli host più sollecitati dal trasferimento dati per le operazioni di backup, è importante essere in grado di fare diagnostica e fornire ai clienti dei riscontri sulle loro funzionalità. Il pacchetto qpkg è scaricabile dal sito e installabile manualmente sul nostro dispositivo QNAP:

A questo punto il nostro NAS QNAP avrà il  pacchetto installato e funzionante e potrà essere utilizzato prima di lanciare il backup per verificare la banda a disposizione:

[/opt/sbin] # iperf3 -h
Usage: iperf3 [-s|-c host] [options]
iperf3 [-h|--help] [-v|--version]

Controllare la presenza di eventuali problemi di connessione e analizzare le performance di rete per client e server è una operazione fondamentale. Quando si eseguono operazioni di trasferimento file in rete, questo strumento è fenomenale per  per capire dove possono trovarsi eventuali colli di bottiglia che peggiorano la qualità del trasferimento.

Per il download di iPerf e iPerf3 per Windows e Linux e tutti gli altri sistemi operativi, facciamo riferimento a questa pagina del sito ufficiale: https://iperf.fr/iperf-download.php