iperf3 è un programma gratuito e open source, basato sulla riga di comando e multipiattaforma, per effettuare misurazioni in tempo reale della larghezza di banda di rete. È uno degli strumenti più potenti per testare la larghezza di banda massima raggiungibile nelle reti IP (supporta IPv4 e IPv6).
Con iperf, è possibile regolare diversi parametri associati al timing, ai buffer e ai protocolli come TCP, UDP e SCTP. Risulta utile per le operazioni di ottimizzazione delle prestazioni di rete.
Per ottenere prestazioni di rete massime o, meglio ancora, migliorate, è necessario aumentare sia la larghezza di banda che la latenza delle capacità di ricezione e invio della propria rete.
Tuttavia, prima di poter procedere con l’ottimizzazione effettiva, è necessario effettuare alcuni test per raccogliere le statistiche complessive sulle prestazioni di rete che guideranno il processo di ottimizzazione.
I suoi risultati includono l’intervallo di tempo in secondi, i dati trasferiti, la larghezza di banda (tasso di trasferimento), la perdita e altri utili parametri delle prestazioni di rete. È principalmente destinato ad assistere nell’ottimizzazione delle connessioni TCP su un percorso specifico ed è su questo che ci concentreremo in questa guida.
Requisiti:
- Due computer in rete con entrambi installato iperf3.
Come installare iPerf3 nei sistemi Linux
Come Installare iPerf3 nei Sistemi Linux
Prima di iniziare a utilizzare iperf3, è necessario installarlo sui due computer che verranno utilizzati per il benchmarking. Poiché iperf3 è disponibile nei repository ufficiali di molte distribuzioni Linux comuni, l’installazione dovrebbe essere semplice, utilizzando un gestore di pacchetti come mostrato.
$ sudo apt install iperf3 [On Debian, Ubuntu and Mint] $ sudo yum install iperf3 [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a net-misc/iperf [On Gentoo Linux] $ sudo apk add iperf3 [On Alpine Linux] $ sudo pacman -S iperf3 [On Arch Linux] $ sudo zypper install iperf3 [On OpenSUSE]
Una volta installato iperf3 su entrambi i computer, è possibile iniziare a testare la velocità di rete.
Come Testare la Velocità di Rete tra Due Server Linux
In primo luogo, connettiti al computer remoto che utilizzerai come server, e avvia iperf3 in modalità server utilizzando la bandiera -s
, ascolterà sulla porta 5201 per impostazione predefinita.
È possibile specificare il formato (k, m, g per Kbits, Mbits, Gbits o K, M, G per KBytes, Mbytes, Gbytes) per il report, utilizzando lo switch -f
come mostrato.
$ iperf3 -s -f K
Se la porta 5201 è utilizzata da un altro programma sul tuo server, è possibile specificare una porta diversa (ad esempio 3000) utilizzando lo switch -p
come mostrato.
$ iperf3 -s -p 3000
Facoltativamente, è possibile eseguire il server come demone, utilizzando la bandiera -D
e scrivere i messaggi del server in un file di log, come segue.
$ iperf3 -s -D > iperf3log
Quindi sul tuo computer locale che tratteremo come il client (dove effettueremo il benchmark effettivo), esegui iperf3 in modalità client utilizzando il flag -c
e specifica l’host su cui è in esecuzione il server (utilizzando il suo indirizzo IP, dominio o nome host).
$ iperf3 -c 192.168.10.1 -f K
Dopo circa 18 a 20 secondi, il client dovrebbe terminare e produrre risultati che indicano la larghezza di banda media per il benchmark, come mostrato nella seguente schermata.

Come eseguire il test avanzato di larghezza di banda di rete in Linux
Ci sono diverse opzioni specifiche del client per eseguire un test avanzato, come spiegato di seguito.
Uno dei fattori importanti che determinano la quantità di dati nella rete in un dato momento è la dimensione della finestra TCP, che è importante nel regolare le connessioni TCP. È possibile impostare la dimensione della finestra/dimensione del buffer socket utilizzando il flag -w
come mostrato.
$ iperf3 -c 192.168.10.1 -f K -w 500K
Per eseguirlo in modalità inversa in cui il server invia e il client riceve, aggiungi l’opzione -R
.
$ iperf3 -c 192.168.10.1 -f K -w 500K -R
Per eseguire un test bidirezionale, cioè misurare la larghezza di banda in entrambe le direzioni contemporaneamente, utilizza l’opzione -d
.
$ iperf3 -c 192.168.10.1 -f K -w 500K -d
Se desideri ottenere i risultati del server nell’output del client, utilizza l’opzione --get-server-output
.
$ iperf3 -c 192.168.10.1 -f K -w 500K -R --get-server-output

È anche possibile impostare il numero di flussi client paralleli (due in questo esempio), che vengono eseguiti contemporaneamente, utilizzando le opzioni -P
.
$ iperf3 -c 192.168.10.1 -f K -w 500K -P 2
Per ulteriori informazioni, consultare la pagina man di iperf3.
$ man iperf3
Ecco tutto! Ricorda sempre di eseguire test di prestazioni di rete prima di procedere alla messa a punto effettiva delle prestazioni di rete. iperf3 è uno strumento potente, che si rivela utile per eseguire test di throughput di rete.
Hai pensieri da condividere o domande da fare, utilizza il modulo dei commenti qui sotto.
Source:
https://www.tecmint.com/test-network-throughput-in-linux/