2009-12-14

Medir Ancho de Banda desde Consola

Debido a mi trabajo en muchas ocasiones los problemas de disponibilidad de servicios es problemas en el ancho de banda del canal, debido a esto es fundamental poder demostrar que el inconveniente esta en que el ancho de banda del canal no es suficiente o que prácticamente no hay canal.

Leyendo en internet me encontré con un buen dato de Linux para Todos sobre un medidor desde consola llamado iperf, por lo que me puse a investigar encontrando que es un desarrollo de la universidad de Central Florida y que la URL del proyecto es esta http://www.noc.ucf.edu/Tools/Iperf/ , decidi entonces montarla en uno de nuestros servidores y hacer pruebas, el montaje es muy sencillo

root@localhost:~# apt-get install iperf

o si deseas de la pagina puedes bajar el tar.gz y lo compilas, bueno una vez instalado entonces subimos el servicio así

root@localhost:~# iperf -s

ese mismo lo puedes colocar en /etc/rc.local para que cuando inicie el sistema inicie también el servicio, y si tiene configurado un FW le debes habilitar el tráfico entrante al puerto 5001.

Ya con esto solo debes instalar el sistema en el cliente y hacer las pruebas, para manejarlo me encontré esta pagina en ingles donde explica muchas funcionalidades de la herramienta, que desde el cliente es así

Prueba básica

samuel@samuel:~$ iperf -c 274.132.23.1
------------------------------------------------------------
Client connecting to 274.132.23.1, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.5.214 port 33007 connected with 274.132.23.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-11.1 sec 688 KBytes 506 Kbits/sec

Cambiando la escala de medida

Puede ser (M) Mega o (K) kilo (por defecto) o (b) bits

samuel@samuel:~$ iperf -c 274.132.23.1 -f M
------------------------------------------------------------
Client connecting to 274.132.23.1, TCP port 5001
TCP window size: 0.02 MByte (default)
------------------------------------------------------------
[ 3] local 192.168.5.214 port 53517 connected with 274.132.23.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.6 sec 0.37 MBytes 0.03 MBytes/sec


Hacer el test de forma bidireccional


samuel@samuel:~$ iperf -c 192.168.5.1 -d
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 192.168.5.1, TCP port 5001
TCP window size: 117 KByte (default)
------------------------------------------------------------
[ 5] local 192.168.5.214 port 59015 connected with 192.168.5.1 port 5001
[ 4] local 192.168.5.214 port 5001 connected with 192.168.5.1 port 53947
[ ID] Interval Transfer Bandwidth
[ 5] 0.0-10.0 sec 100 MBytes 84.0 Mbits/sec
[ 4] 0.0-10.0 sec 77.2 MBytes 64.8 Mbits/sec


Pruebas de respuesta sobre puertos específicos


samuel@samuel:~$ iperf -c 174.132.243.162 -p 53 -t 20 -i 5 -f M
------------------------------------------------------------
Client connecting to 274.132.23.1, TCP port 53
TCP window size: 0.02 MByte (default)
------------------------------------------------------------
[ 3] local 192.168.5.214 port 39986 connected with 274.132.23.1 port 53
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 5.0 sec 17592186044416 MBytes 3518437208883 MBytes/sec
[ 3] 5.0-10.0 sec 17592186044416 MBytes 3518437208883 MBytes/sec
[ 3] 10.0-15.0 sec 17592186044416 MBytes 3518437208883 MBytes/sec
[ 3] 0.0-20.0 sec 17592186044415 MBytes 879445989101 MBytes/sec


Espero les sirva me pareció muy interesante la herramienta