Andrea Beggi

Not everything that can be counted counts, and not everything that counts can be counted.

Iperf, un tool per misurare la banda

A T T E N Z I O N E ! Questo post ha piu' di sei mesi. Le informazioni contenute potrebbero non essere aggiornate.

Iperf è uno strumento per misurare l’ampiezza di banda su TCP, abbastanza flessibile, open source e disponibile per diversi sistemi operativi.

Ecco le caratteristiche:

  • TCP
    • Measure bandwidth
    • Report MSS/MTU size and observed read sizes.
    • Support for TCP window size via socket buffers.
    • Multi-threaded if pthreads or Win32 threads are available. Client and server can have multiple simultaneous connections.
  • UDP
    • Client can create UDP streams of specified bandwidth.
    • Measure packet loss
    • Measure delay jitter
    • Multicast capable
    • Multi-threaded if pthreads are available. Client and server can have multiple simultaneous connections. (This doesn’t work in Windows.)
  • Where appropriate, options can be specified with K (kilo-) and M (mega-) suffices. So 128K instead of 131072 bytes.
  • Can run for specified time, rather than a set amount of data to transfer.
  • Picks the best units for the size of data being reported.
  • Server handles multiple connections, rather than quitting after a single test.
  • Print periodic, intermediate bandwidth, jitter, and loss reports at specified intervals.
  • Run the server as a daemon.
  • Run the server as a Windows NT Service
  • Use representative streams to test out how link layer compression affects your achievable bandwidth.
  • A library of useful functions and C++ classes.

Permette di controllare l’effetto della variazione di diversi parametri tipo la TCP windows size o l’MTU, supporta IPV6 e ha diverse opzioni per girare come demone o servizio.

Senza scendere in usi troppo esoterici è utile per controllare la banda a disposizione tra due siti connessi via WAN e/o VPN. L’uso più semplice è lanciare

iperf -s

sull’host “server” e

iperf -c IP_HOST_SERVER

sul client, e dopo qualche secondo apparirà il responso. La porta di default su cui deve poter essere raggiunto il server è la 5001/TCP. Ripetere in senso inverso per valutare le performance nei due sensi della connessione. (Vi ricordo che la “A” di ADSL sta per “Asymmetric”).

16 Commenti

Emanuele | #

Mi hai letteralmente bruciato sul tempo. Sono giorni che tengo nello stack di download del mio Mac “kperf_setup.exe” ma non ho completamente avuto tempo né per fare qualche prova, né per parlarne sul blog.
Bene… adesso ho una fonte in più da tenere in considerazione. 😉
Ciao,
Emanuele

garethjax | #

E siamo in 3… per un attimo speravo che l’irpef avesse una feature non documentata di cui l’agenzia delle entrate non ci ha mai detto nulla…

CyberGigi | #

Ho provato a dare il comando iperf -s ma mi da sempre l’errore “socket failed: Network is down”.
Non ne ho idea.

Davide | #

L’ho utilizzato per misurare la banda di alcuni bridge punto-punto wireless.
Segnalo l’utilita’ del flag -t con il quale impostare la durata del test (in secondi) e del flag -d con il quale effettuare un test di trasmissione bidirezionale simultanea (utile per i citati dispositivi wireless).

zimo | #

Davvero utile per una veloce verifica della larghezza di banda.
Segnalo che con il comando “iperf -s -D” è possibile farlo eseguire su un server Windows come servizio, occupa circa 2MB di RAM.

Enrico | #

Già pensavo ad uno strumento che mi permettesse di misurare le tasse di Veltroni!

Stefano Brivio | #

Ottimo strumento, feci la sua conoscenza qualche annetto fa quando,ad un corso di certificazione di un noto produttore di apparati wireless hiperlan, nei test di laboratorio finale era richiesto l’utilizzo di iperf.

Ho cercato n-volte un tool grafico comparabile, sia dal punto di vista della completezza di funzionalità che nella semplicità di utilizzo, ma non sono mai riuscito a trovare nulla di meglio. Lunga vita ad iperf ed alle shell testuali 🙂

ani | #

ciao,
ho provato a misurare il lost/total datagrams nel caso udp multicast ma non ci riesco. mi sai dire qualcosa in proposito?

felice | #

gentilmente qualcuno mi sa dire come imposto la grandezza che voglio mandare? grazie

Danilo | #

Ho scaricato iperf ma non lo riesco a fare partire. ho il file iperf.exe ma se ci clicco due volte mi apre e mi richiude quasi istantaneamente la schermata. Aiuto!!!