Guía uso Iperf

  • admin 

Guía Uso Iperf

Iperf es una herramienta muy útil para comprobar el ancho de banda real de conexión disponible. Tanto para Unix y/o Windows.

Iperf puede configurarse en 2 modos:

  • Modo Servidor
  • Modo Cliente.

El host en modo iperf servidor escucha conexiones remotas originadas desde potenciales host iperf cliente. El host iperf cliente define los parámetros de test de ancho de banda, y se conecta al servidor remoto.

 

  • Instalación iperf.

apt-get install iperf

 

  • Iniciar servidor iperf.

iperf -s

root@smokeping1:/# iperf -s
————————————————————
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
————————————————————

 

  • Arrancar servidor iperf como demonio.

Se puede arrancar el servidor manual, o como demonio. Para este segundo caso se debe añadir el parámetro -D (se ejecuta iperf como demonio en background).

iperf -s -D

iperf -s -D > /var/log/iperf-log.log

root@server:/home/ubuntu# iperf -s -D > /var/log/iperf-log.log
Running Iperf Server as a daemon
The Iperf daemon process ID : 3546
root@server:/home/ubuntu#

  • Conectar un host iperf client a un host iperf servidor

Iperfs necesita ejecutarse en el host local en modo cliente, así como en el servidor remoto en modo servidor. Se debe explicitar la ip con el argument -c.

iperf -c ip_servidor.

[root@fc18-atica ~]# iperf -c 112.131.5.76
————————————————————
Client connecting to 212.231.5.76, TCP port 5001
TCP window size: 85.0 KByte (default)
————————————————————
[ 3] local 10.134.16.230 port 51345 connected with 112.131.5.76 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-13.4 sec 7.75 MBytes 4.85 Mbits/sec
[root@fc18-atica ~]#

 

  • Duración del Test (por defecto 10).

La duración por defecto es 10. Se puede explicitar una duración mayor con el argumento t.

iperf -c ipserver -t 60 (duración 60 sgs).

root@observium:/etc# iperf -c 112.131.5.76 -t 3    (duración total de 3sgs).
————————————————————
Client connecting to 212.231.5.76, TCP port 5001
TCP window size: 23.5 KByte (default)
————————————————————
[ 3] local 172.0.0.14 port 44967 connected with 112.131.5.76 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 3.0 sec 323 MBytes 902 Mbits/sec
root@observium:/etc#

 

  • Intervalo de tiempo durante el que se mide (ancho de banda, jitter, y packet loss).

Por defecto es cero. En este caso hay un único reporte.

iperf -c ip_server -i 2

root@observium:/etc# iperf -c 112.131.5.76 -t 6 -i1
————————————————————
Client connecting to 212.231.5.76, TCP port 5001
TCP window size: 23.5 KByte (default)
————————————————————
[ 3] local 172.0.0.14 port 44968 connected with 112.131.5.76 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 99.6 MBytes 836 Mbits/sec
[ 3] 1.0- 2.0 sec 102 MBytes 851 Mbits/sec
[ 3] 2.0- 3.0 sec 102 MBytes 854 Mbits/sec
[ 3] 3.0- 4.0 sec 102 MBytes 856 Mbits/sec
[ 3] 4.0- 5.0 sec 102 MBytes 860 Mbits/sec
[ 3] 5.0- 6.0 sec 102 MBytes 852 Mbits/sec
[ 3] 0.0- 6.0 sec 609 MBytes 851 Mbits/sec
root@observium:/etc#

 

  • Conexión bidireccional.

Se comprueba la velocidad en un sentido y luego en el otro.

Se utiliza el argumento r para comprobar la dirección en un sentido y luego en el otro. Primero desde el servidor al cliente y luego en sentido contrario. Con el argumento d sería el orden al revés.

iperf -c ip_servidor -r .

 

  • Cambiar protocolo udp en lugar tcp.

Por defecto Iperf usa TCP. Si se desea utilizar UDP debe utilizarse tanto en el servidor como en el cliente el argumento u.

iperf -c ip_server -u

iperf -s -u

El resultado contendrá una métrica extra para el packet loss. Esta debe ser lo más pequeña posible como es natural.

 

  • Lanzar múltiples threads

  • Comprobar la versión de Iperf

Se utiliza el argumento v para comprobar la versión del iperf.

root@server:/home/ubuntu# iperf -v
iperf version 2.0.5 (08 Jul 2010) pthreads

  • Ayuda Iperf.

Se utiliza el argumento h para comprobar toda la lista de argumentos soportados por iperf.

Etiquetas: