Iperf è un tool che permette di verificare la capacità di trasmissione di una rete, nei test TCP misurando la banda disponibile e nei test UDP valutando le performance a seconda della banda. In questo articolo troverete alcuni comandi tipici per misurare il traffico in download e upload. Per eseguire i test è necessario avere un pc o un server che funga da “server” e un altro che funga da “client”.
IPERF
parametri più comuni:
-u test UDP (senza nulla il test sarà TCP di default)
-s indica il lato server, da usare sul “server” per metterlo in ascolto dei dati in arrivo dal client
-c indica il lato client, è seguito dall’indirizzo ip del server
-b banda del test in bit, funziona solo sui test UDP ed è espresso in k o in M (il valore di default è 1M). Nei test TCP aa banda viene misurata durante il test
-p porta del test
-t tempo di durata del test in secondi
-i indica l’intervallo di tempo tra due output successivi durante il test (il test fornisce in tempo reale un output)
-w tcp windows size, indica la dimensione massima quantità di dati che il client può mandare verso il server senza attendere un ack. Settare il giusto valore (windows size tuning) può migliorare sensibilmente i risultati del test.
-P numero di connessioni (da settare sul server, indicando -P 1 alla fine del test si chiuderà la sessione); in sostanza indica il numero di test che il server accetta prima di chiudere la connessione.
-B Bind. Indica nel client l’indirizzo IP della porta di uscita del flusso, mentre nel server indica l’ip della porta da cui ci sia aspetta il flusso. E’ utile nel caso di server multiporta.
-S taggare il traffico tramite DSCP indicando il valore esadecimale del ToS. (es: http://www.tucny.com/Home/dscp-tos)
Esempio test IPERF
Ipotizziamo di voler testare il traffico in download e upload tra un Terminale (che chiameremo MyTerminal) e un Server (che chiameremo PigServer), i test dureranno 5 minuti e vogliamo un output ogni 30 secondi, la banda è di 1Mega e la porta la 5501 (non usiamo quella di default in questo esempio, non ci sono contro indicazioni ad usare quella di default).
MyTerminal: 10.10.10.10
PigServer: 10.10.10.20
Port: 5501
Duration: 5 minuti (300 sec)
Band: 2M
TCP
Nei test in cui non viene indicata la banda, sarà il test stesso a determinare la banda del link. I Test devono sempre essere avviati prima “lato server”.
DOWNLOAD
MyTerminal: iperf -s -p 5501 -i
PigServer: iperf -c 10.10.10.10 -p 5501 -t 300 -i 30
UPLOAD
PigServer: iperf -s -p 5501
MyTerminal: iperf -c 10.10.10.20 -p 5501 -t 300 -i 30
Ecco un esempio di OUTPUT:
[MyTerminal ]#iperf -s -i 30 5501 -P1
------------------------------------------------------------
Server listening on TCP port 5501
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[ 4] local 10.10.10.10 port 5501 connected with 10.10.10.20 port 12345
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-30.0 sec 7.58 MBytes 2.12 Mbits/sec
[ 4] 30.0-60.0 sec 7.85 MBytes 2.20 Mbits/sec
[ 4] 60.0-90.0 sec 8.04 MBytes 2.25 Mbits/sec
[ 4] 90.0-120.0 sec 7.97 MBytes 2.23 Mbits/sec
[ 4] 120.0-150.0 sec 8.03 MBytes 2.25 Mbits/sec
[ 4] 150.0-180.0 sec 8.00 MBytes 2.24 Mbits/sec
[ 4] 180.0-210.0 sec 7.99 MBytes 2.24 Mbits/sec
[ 4] 210.0-240.0 sec 7.96 MBytes 2.23 Mbits/sec
[ 4] 240.0-270.0 sec 7.98 MBytes 2.23 Mbits/sec
[ 4] 270.0-300.0 sec 7.95 MBytes 2.22 Mbits/sec
[ 4] 300.0-330.0 sec 7.92 MBytes 2.21 Mbits/sec
[ 4] 330.0-360.0 sec 8.01 MBytes 2.24 Mbits/sec
[ 4] 360.0-390.0 sec 6.10 MBytes 1.70 Mbits/sec
[ 4] 390.0-420.0 sec 3.66 MBytes 1.02 Mbits/sec
[ 4] 420.0-450.0 sec 7.55 MBytes 2.11 Mbits/sec
[ 4] 450.0-480.0 sec 7.87 MBytes 2.20 Mbits/sec
[ 4] 480.0-510.0 sec 7.98 MBytes 2.23 Mbits/sec
[ 4] 510.0-540.0 sec 8.05 MBytes 2.25 Mbits/sec
[ 4] 540.0-570.0 sec 8.05 MBytes 2.25 Mbits/sec
[ 4] 570.0-600.0 sec 8.06 MBytes 2.25 Mbits/sec
[ 4] 0.0-600.2 sec 153 MBytes 2.13 Mbits/sec
[MyTerminal]#
UDP
I test udp avvengono senza che sia stabilita una connessione tra client e server, per questo motivo il client invierà dati verso il server anche se questi non arrivano al server.
DOWNLOAD:
MyTerminal: iperf -s -p 5501 -u
PigServer: iperf -c 10.10.10.10 -p 5501 -t 300 -i 30 -b 2M
UPLOAD
PigServer: iperf -s -p 5501 -u
MyTerminal: iperf -c 10.10.10.20 -p 5501 -t 600 -i 30 -b 2M
Ecco un esempio di output:
[MyTerminal]#iperf -s -u -i 30 -p 5501 -P1
------------------------------------------------------------
Server listening on UDP port 5501
Receiving 1470 byte datagrams
UDP buffer size: 122 KByte (default)
------------------------------------------------------------
[ 3] local 10.10.10.10 port 5501 connected with 10.10.10.20 port 1234
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 3] 0.0-30.0 sec 1.94 MBytes 541 Kbits/sec 9.527 ms 9018/10399 (87%)
[ 3] 30.0-60.0 sec 1.94 MBytes 542 Kbits/sec 10.235 ms 9026/10408 (87%)
[ 3] 60.0-90.0 sec 1.94 MBytes 542 Kbits/sec 11.056 ms 9029/10411 (87%)
[ 3] 90.0-120.0 sec 1.94 MBytes 542 Kbits/sec 10.507 ms 9026/10408 (87%)
[ 3] 120.0-150.0 sec 1.94 MBytes 542 Kbits/sec 10.644 ms 9030/10412 (87%)
[ 3] 150.0-180.0 sec 1.94 MBytes 542 Kbits/sec 12.642 ms 9026/10408 (87%)
[ 3] 180.0-210.0 sec 1.94 MBytes 542 Kbits/sec 11.127 ms 9024/10406 (87%)
[ 3] 210.0-240.0 sec 1.94 MBytes 542 Kbits/sec 11.599 ms 9026/10409 (87%)
[ 3] 240.0-270.0 sec 1.94 MBytes 541 Kbits/sec 11.026 ms 9028/10409 (87%)
[ 3] 270.0-300.0 sec 1.94 MBytes 542 Kbits/sec 12.434 ms 9022/10404 (87%)
[ 3] 300.0-330.0 sec 1.94 MBytes 542 Kbits/sec 11.881 ms 9028/10410 (87%)
[ 3] 330.0-360.0 sec 1.94 MBytes 542 Kbits/sec 9.731 ms 9028/10410 (87%)
[ 3] 360.0-390.0 sec 1.94 MBytes 542 Kbits/sec 11.820 ms 9027/10409 (87%)
[ 3] 390.0-420.0 sec 1.94 MBytes 542 Kbits/sec 10.770 ms 9022/10404 (87%)
[ 3] 420.0-450.0 sec 1.94 MBytes 542 Kbits/sec 11.785 ms 9024/10406 (87%)
[ 3] 450.0-480.0 sec 1.94 MBytes 542 Kbits/sec 10.641 ms 9028/10410 (87%)
[ 3] 480.0-510.0 sec 1.94 MBytes 542 Kbits/sec 10.987 ms 9028/10410 (87%)
[ 3] 510.0-540.0 sec 1.93 MBytes 540 Kbits/sec 10.673 ms 9032/10410 (87%)
[ 3] 540.0-570.0 sec 1.93 MBytes 540 Kbits/sec 10.836 ms 9026/10404 (87%)
[ 3] 570.0-600.0 sec 1.94 MBytes 542 Kbits/sec 9.461 ms 9026/10409 (87%)
[ 3] 0.0-600.2 sec 38.8 MBytes 542 Kbits/sec 13.336 ms 180526/208168 (87%)
[MyTerminal]#
Potrebbe interessarti anche l’uso di D-ITG e le differenze con iperf