Ricerca nel sito web

Come testare la velocità della rete utilizzando lo strumento iPerf3 in Linux


iperf3 è un programma gratuito open source e multipiattaforma basato su riga di comando per eseguire misurazioni del throughput della rete in tempo reale. È uno degli strumenti più potenti per testare la massima larghezza di banda ottenibile nelle reti IP (supporta IPv4 e IPv6).

Con iperf puoi ottimizzare diversi parametri associati a tempistiche, buffer e protocolli come TCP, UDP e SCTP. È utile per le operazioni di ottimizzazione delle prestazioni della rete.

Per ottenere prestazioni di rete massime o addirittura migliorate, è necessario aumentare il throughput e la latenza delle capacità di ricezione e invio della rete.

Tuttavia, prima di procedere con l'ottimizzazione vera e propria, è necessario eseguire alcuni test per raccogliere statistiche generali sulle prestazioni della rete che guideranno il processo di ottimizzazione.

I suoi risultati includono l'intervallo di tempo in secondi, i dati trasferiti, la larghezza di banda (velocità di trasferimento), la perdita e altri parametri utili sulle prestazioni della rete. È pensato principalmente per assistere nell'ottimizzazione delle connessioni TCP su un percorso particolare ed è su questo che ci concentreremo in questa guida.

Requisiti:

  • Due computer in rete su cui è installato iperf3.

Come installare iPerf3 nei sistemi Linux

Prima di iniziare a utilizzare iperf3, devi installarlo sulle due macchine che utilizzerai per il benchmarking. Poiché iperf3 è disponibile nei repository software ufficiali delle distribuzioni Linux più comuni, installarlo 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 entrambe le macchine, puoi iniziare a testare il throughput della rete.

Come testare la velocità di rete tra due server Linux

Innanzitutto, connettiti al computer remoto che utilizzerai come server e avvia iperf3 in modalità server utilizzando il flag -s, verrà ascolta la porta 5201 per impostazione predefinita.

È possibile specificare il formato (k, m, g per Kbit, Mbit , Gbit o K, M, G per KByte, Mbyte , Gbytes) da inserire nel report, utilizzando l'opzione -f come mostrato.

iperf3 -s -f K 

Se la porta 5201 viene utilizzata da un altro programma sul tuo server, puoi specificare una porta diversa (ad esempio 3000) utilizzando l'opzione -p come mostrato.

iperf3 -s -p 3000

Facoltativamente, puoi eseguire il server come demone, utilizzando il flag -D e scrivere i messaggi del server in un file di registro, come segue.

iperf3 -s -D > iperf3log 

Quindi, sul tuo computer locale che tratteremo come client (dove avviene l'effettivo benchmark), esegui iperf3 in modalità client utilizzando -c flag e specificare 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 - 20 secondi, il client dovrebbe terminare e produrre risultati che indicano il throughput medio per il benchmark, come mostrato nello screenshot seguente.

Dai risultati del benchmark, come mostrato nello screenshot qui sopra, c'è una variazione nei valori tra server e client. Ma dovresti sempre considerare di utilizzare i risultati ottenuti dalla macchina iperf client in ogni test che esegui.

Come eseguire test di throughput di rete avanzati in Linux

Esistono numerose opzioni specifiche del cliente per l'esecuzione di 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: è importante per ottimizzare le connessioni TCP. Puoi impostare la dimensione della finestra/dimensione del buffer del socket utilizzando il flag -w come mostrato.

iperf3 -c 192.168.10.1 -f K -w 500K	

Per eseguirlo in modalità inversa dove 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, ovvero 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 risultati del server nell'output 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, vedere la pagina man iperf3.

man iperf3

È tutto! Ricordarsi di eseguire sempre test delle prestazioni della rete prima di procedere all'ottimizzazione effettiva delle prestazioni della rete. iperf3 è uno strumento potente, utile per eseguire test di throughput della rete.

Hai qualche pensiero da condividere o domande da porre, usa il modulo commenti qui sotto.