iPerf3 – Prueba de Velocidad/Ancho de Banda de Red en Linux

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

Con Iperf, puedes ajustar varios parámetros asociados con el tiempo, búferes y protocolos como TCP, UDP y SCTP. Es útil para operaciones de ajuste de rendimiento de red.

Para adquirir un rendimiento de red máximo o mejorado, necesitas aumentar tanto el rendimiento como la latencia de las capacidades de recepción y envío de tu red.

Sin embargo, antes de entrar en el ajuste real, necesitas realizar algunas pruebas para recopilar estadísticas generales de rendimiento de red que guiarán tu 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 red. Está principalmente destinado a ayudar en el ajuste de conexiones TCP sobre un camino particular y eso es en lo que nos enfocaremos en esta guía.

Requisitos:

  • Dos computadoras conectadas en red que tengan Iperf3 instalado.Cómo Instalar iPerf3 en Sistemas Linux

Cómo instalar iPerf3 en sistemas Linux

Antes de comenzar a utilizar iperf3, debes instalarlo en las dos máquinas que utilizarás para la evaluación de rendimiento. Dado que iperf3 está disponible en los repositorios de software oficiales de la mayoría de las distribuciones Linux comunes, la instalación debería ser sencilla, utilizando un administrador de paquetes como se muestra.

$ sudo apt install iperf3         [On Debian, Ubuntu and Mint]
$ sudo yum install iperf3         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a net-misc/iperf   [On Gentoo Linux]
$ sudo apk add iperf3             [On Alpine Linux]
$ sudo pacman -S iperf3           [On Arch Linux]
$ sudo zypper install iperf3      [On OpenSUSE]    

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

Cómo probar la velocidad de la red entre dos servidores Linux

Primero, conecta a la máquina remota que utilizarás como servidor, y arranca iperf3 en modo servidor usando la bandera -s, que escuchará en el puerto 5201 por defecto.

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

$ iperf3 -s -f K 

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

$ iperf3 -s -p 3000

Opcionalmente, puedes ejecutar el servidor como un demonio, usando la bandera -D y escribir los mensajes del servidor en un archivo de registro, de la siguiente manera.

$ iperf3 -s -D > iperf3log 

Luego, en tu máquina local que trataremos como el cliente (donde realmente se lleva a cabo la prueba de referencia), ejecuta iperf3 en modo cliente usando la bandera -c y especifica el host en el que se está ejecutando el servidor (ya sea usando su dirección IP, dominio o nombre de host).

$ iperf3 -c 192.168.10.1 -f K

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

Test Network Throughput Between Servers
From the benchmark results, as shown in the above screenshot, there is a variation in values from the server and client. But, you should always consider using the results obtained from the iperf client machine in every test you carry out.

Cómo Realizar una Prueba de Rendimiento de Red Avanzada en Linux

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

Uno de los factores importantes que determina la cantidad de datos en la red en un momento dado es el tamaño de la ventana TCP, es importante en el ajuste de las conexiones TCP. Puedes establecer el tamaño de la ventana/tamaño del búfer del socket usando la bandera -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, agrega el interruptor -R.

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

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

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

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

$ iperf3 -c 192.168.10.1 -f K -w 500K -R --get-server-output
Get Server Network Results in the Client

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

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

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

$ man iperf3

¡Eso es todo! Recuerda siempre realizar pruebas de rendimiento de red antes de realizar ajustes de rendimiento de red reales. iperf3 es una herramienta poderosa que resulta útil para ejecutar pruebas de rendimiento de ancho de banda de red.

¿Tienes algún pensamiento para compartir o alguna pregunta que hacer? Usa el formulario de comentarios a continuación.

Source:
https://www.tecmint.com/test-network-throughput-in-linux/