Cómo probar el rendimiento de la red con la herramienta iperf3 en Linux


iperf3 es un programa gratuito de código abierto y multiplataforma basado en la línea de comandos para realizar mediciones de rendimiento de la red en tiempo real. Es una de las herramientas poderosas para probar el ancho de banda máximo alcanzable en redes IP (admite IPv4 e IPv6).

Con iperf, puede ajustar varios parámetros asociados con tiempos, búferes y protocolos como TCP, UDP, SCTP. Resulta útil para las operaciones de ajuste del rendimiento de la red.

Para adquirir un rendimiento de red máximo o más bien mejorado, debe aumentar el rendimiento y la latencia de las capacidades de recepción y envío de su red. Sin embargo, antes de que pueda pasar al ajuste real, debe realizar algunas pruebas para recopilar estadísticas generales de rendimiento de la red que guiarán su proceso de ajuste.

Sus resultados incluyen intervalo de tiempo en segundos, datos transferidos, ancho de banda (tasa de transferencia), pérdida y otros parámetros útiles de rendimiento de la red. Su objetivo principal es ayudar a ajustar las conexiones TCP en una ruta en particular y esto es en lo que nos centraremos en esta guía.

  • Dos computadoras en red que tienen instalado iperf3.

Cómo instalar iperf3 en sistemas Linux

Antes de comenzar a usar iperf3, debe instalarlo en las dos máquinas que usará para la evaluación comparativa. Dado que iperf3 está disponible en los repositorios de software oficiales de las distribuciones de Linux más comunes, su instalación debería ser fácil, utilizando un administrador de paquetes como se muestra.

$ sudo apt install iperf3	#Debian/Ubuntu
$ sudo yum install iperf3	#RHEL/CentOS
$ sudo dnf install iperf3	#Fedora 22+ 

Una vez que haya instalado iperf3 en ambas máquinas, puede comenzar a probar el rendimiento de la red.

Cómo probar el rendimiento de la red entre servidores Linux

Primero conéctese a la máquina remota que usará como servidor y encienda iperf3 en modo servidor usando el indicador -s , escuchará en el puerto 5201 por defecto.

Puede especificar el formato (k, m, g para Kbits, Mbits, Gbits o K, M, G para KBytes, Mbytes, Gbytes) para informar, usando el interruptor -f como se muestra.

$ iperf3 -s -f K 

Si el puerto 5201 está siendo utilizado por otro programa en su servidor, puede especificar un puerto diferente (por ejemplo, 3000) usando el interruptor -p como se muestra.

$ iperf3 -s -p 3000

Opcionalmente, puede ejecutar el servidor como un demonio, utilizando el indicador -D y escribir mensajes del servidor en un archivo de registro, como se indica a continuación.

$ iperf3 -s -D > iperf3log 

Luego, en su máquina local que trataremos como el cliente (donde se lleva a cabo la evaluación comparativa real), ejecute iperf3 en modo cliente usando el indicador -c y especifique el host en el que se está ejecutando el servidor (ya sea utilizando su dirección IP o dominio o nombre de host).

$ iperf3 -c 192.168.10.1 -f K

Después de aproximadamente 18 a 20 segundos, el cliente debe terminar y producir resultados que indiquen el rendimiento promedio para el punto de referencia, como se muestra en la siguiente captura de pantalla.

Importante: a partir de los resultados de la evaluación comparativa, como se muestra en la captura de pantalla anterior, hay una variación en los valores del servidor y el cliente. Sin embargo, siempre debe considerar utilizar los resultados obtenidos de la máquina cliente iperf en cada prueba que realice.

Cómo realizar pruebas de red avanzadas en Linux

Hay una serie de opciones específicas del cliente para realizar una prueba avanzada, como se explica a continuación.

Uno de los factores importantes que determinan la cantidad de datos en la red en un momento dado es el tamaño de la ventana TCP; es importante para ajustar las conexiones TCP. Puede establecer el tamaño de la ventana/tamaño del búfer de socket usando el indicador -w como se muestra.

$ iperf3 -c 192.168.10.1 -f K -w 500K	

Para ejecutarlo en modo inverso donde el servidor envía y el cliente recibe, agregue el interruptor -R .

$ iperf3 -c 192.168.10.1 -f K -w 500K -R	

Para ejecutar una prueba bidireccional, lo que significa que mide el ancho de banda en ambas direcciones simultáneamente, use la opción -d .

$ iperf3 -c 192.168.10.1 -f K -w 500K -d

Si desea obtener resultados del servidor en la salida del cliente, use la opción --get-server-output .

$ iperf3 -c 192.168.10.1 -f K -w 500K -R --get-server-output

También es posible establecer el número de flujos de clientes paralelos (dos en este ejemplo), que se ejecutan al mismo tiempo, utilizando las opciones -P .

$ iperf3 -c 192.168.10.1 -f K -w 500K -P 2

Para obtener más información, consulte la página de manual de iperf3.

$ man iperf3

Página de inicio de iperf3: https://iperf.fr/

¡Eso es todo! Recuerde siempre realizar pruebas de rendimiento de la red antes de realizar un ajuste real del rendimiento de la red. iperf3 es una herramienta poderosa que resulta útil para ejecutar pruebas de rendimiento de la red. ¿Tiene alguna idea que compartir o preguntas que hacer? Utilice el formulario de comentarios a continuación.