Cómo probar el rendimiento de la red utilizando la herramienta iperf3 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 potentes herramientas para probar el máximo ancho de banda posible en redes IP (admite IPv4 y IPv6 ).

Con iperf , puede ajustar varios parámetros asociados con el tiempo, los buffers y los protocolos como TCP, UDP, SCTP. Es útil para las operaciones de ajuste de rendimiento de la red.

Para obtener el máximo rendimiento de la red, o mejor dicho, debe aumentar el rendimiento y la latencia de las capacidades de recepción y envío de su red. Sin embargo, antes de poder realizar la sintonización real, debe realizar algunas pruebas para recopilar estadísticas generales de rendimiento de la red que guiarán su proceso de sintonización.

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

  • Two networked computers which both have iperf3 installed.

Cómo instalar iperf3 en sistemas Linux

Antes de comenzar a utilizar iperf3 , debe instalarlo en las dos máquinas que utilizará para realizar evaluaciones comparativas. 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 sus dos máquinas, puede comenzar a probar el rendimiento de la red.

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

Firt se conecta a la máquina remota que usará como servidor y se activará iperf3 en el modo de servidor utilizando la bandera -s , escuchará en el puerto 5201 de forma predeterminada.

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 otro programa está utilizando el puerto 5201 en su servidor, puede especificar un puerto diferente (por ejemplo, 3000 ) utilizando el interruptor -p mostrado.

$ iperf 3 -s -p 3000

Opcionalmente, puede ejecutar el servidor como un demonio, utilizando la marca -D y escribir mensajes del servidor en un archivo de registro, de la siguiente manera.

$ iperf 3 -s -D > iperf3log 

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

$ iperf 3 -c 192.168.10.1 -f K

Después de unos 18 a 20 segundos, el cliente debe finalizar y producir resultados que indiquen el rendimiento promedio del índice de referencia, como se muestra en la siguiente captura de pantalla.

Cómo realizar un rendimiento de prueba de red avanzado en Linux

Hay una serie de opciones específicas del cliente para realizar pruebas avanzadas, 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 para ajustar las conexiones TCP. Puede configurar el tamaño del búfer de tamaño de ventana/socket usando la marca -w como se muestra.

$ iperf 3 -c 192.168.10.1 -f K -w 500K	

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

$ iperf 3 -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

$ iperf 3 -c 192.168.10.1 -f K -w 500K -d

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

$ iperf 3 -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 .

$ iperf 3 -c 192.168.10.1 -f K -w 500K -P 2

Para más información, vea la página del manual de iperf3.

$ man iperf3

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

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