GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo usar Iperf para probar el rendimiento de la red en Linux

El iperf es una herramienta utilizada para probar el rendimiento de la red entre dos sistemas. La aplicación iperf proporciona más métricas para el rendimiento de una red. La aplicación iperf no está instalada de manera predeterminada, pero la proporciona el administrador de paquetes de la mayoría de las distribuciones.

Para los sistemas CentOS/RHEL/Fedora, utilice yum para instalar el paquete iperf.

# yum install iperf

iperf tiene la noción de un "cliente" y un "servidor" para probar el rendimiento de la red entre dos sistemas.

El siguiente ejemplo establece un gran tamaño de búfer de envío y recepción para maximizar el rendimiento y realiza una prueba durante 60 segundos, lo que debería ser suficiente para ejercitar completamente una red.

Servidor

En el sistema del servidor, se le dice a iperf que escuche la conexión de un cliente:

server # iperf3 -i 10 -s

Aquí,
-i – el intervalo para proporcionar actualizaciones periódicas de ancho de banda
-s – escuchar como un servidor

Consulte man iperf3 para obtener más información sobre opciones de línea de comandos específicas.

Cliente

En el sistema cliente, se le indica a iperf que se conecte al servidor de escucha a través del nombre de host o la dirección IP:

client # iperf3 -i 10 -w 1M -t 60 -c [server hostname or ip address]

Aquí,
-i – el intervalo para proporcionar actualizaciones periódicas de ancho de banda
-w – el tamaño del búfer del socket (que afecta a la ventana TCP). El tamaño del búfer también se establece en el servidor mediante este comando de cliente
-t – el tiempo para ejecutar la prueba en segundos
-c – conectarse a un servidor de escucha en…

Consulte man iperf3 para obtener más información sobre opciones de línea de comandos específicas.

Resultados de la prueba

Tanto el cliente como el servidor informan sus resultados una vez que se completa la prueba:

Servidor

server # iperf3 -i 10 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 10.0.0.2, port 22216
[  5] local 10.0.0.1 port 5201 connected to 10.0.0.2 port 22218
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-10.00  sec  17.5 GBytes  15.0 Gbits/sec                  
[  5]  10.00-20.00  sec  17.6 GBytes  15.2 Gbits/sec                  
[  5]  20.00-30.00  sec  18.4 GBytes  15.8 Gbits/sec                  
[  5]  30.00-40.00  sec  18.0 GBytes  15.5 Gbits/sec                  
[  5]  40.00-50.00  sec  17.5 GBytes  15.1 Gbits/sec                  
[  5]  50.00-60.00  sec  18.1 GBytes  15.5 Gbits/sec                  
[  5]  60.00-60.04  sec  82.2 MBytes  17.3 Gbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-60.04  sec  0.00 Bytes    0.00 bits/sec                  sender
[  5]   0.00-60.04  sec   107 GBytes  15.3 Gbits/sec                  receiver

Cliente

client # iperf3 -i 10 -w 1M -t 60 -c 10.0.0.1
Connecting to host 10.0.0.1, port 5201
[  4] local 10.0.0.2 port 22218 connected to 10.0.0.1 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-10.00  sec  17.6 GBytes  15.1 Gbits/sec    0   6.01 MBytes       
[  4]  10.00-20.00  sec  17.6 GBytes  15.1 Gbits/sec    0   6.01 MBytes       
[  4]  20.00-30.00  sec  18.4 GBytes  15.8 Gbits/sec    0   6.01 MBytes       
[  4]  30.00-40.00  sec  18.0 GBytes  15.5 Gbits/sec    0   6.01 MBytes       
[  4]  40.00-50.00  sec  17.5 GBytes  15.1 Gbits/sec    0   6.01 MBytes       
[  4]  50.00-60.00  sec  18.1 GBytes  15.5 Gbits/sec    0   6.01 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-60.00  sec   107 GBytes  15.4 Gbits/sec    0             sender
[  4]   0.00-60.00  sec   107 GBytes  15.4 Gbits/sec                  receiver

Lectura de los resultados

Entre estos dos sistemas, podríamos lograr un ancho de banda de 15,4 gigabits por segundo o aproximadamente 1835 MiB (mebibytes) por segundo.

Aquí,
Intervalo significa el intervalo de prueba, el valor predeterminado es de 10 segundos y se muestra como "0.0-10.0 seg"
Transferir significa cuántos datos se transfieren entre los dos nodos en el proceso de prueba.
Ancho de banda es el indicador de rendimiento para el que utilizamos las pruebas iperf.

Nota :El servidor escucha en el puerto TCP 5201 de forma predeterminada. Este puerto deberá permitirse a través de cualquier firewall presente. El puerto utilizado se puede cambiar con la opción de línea de comandos -p.

Prueba del rendimiento de la red con el protocolo UDP

El iperf predeterminado usa el protocolo TCP para las pruebas, como se muestra arriba. Agregue la opción "-u ” para utilizar el protocolo UDP para las pruebas de rendimiento.

1. El primer paso es iniciar el servidor.

# iperf -s -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size:   124 KByte (default)
------------------------------------------------------------

[  3] local 1.1.1.1 port 5001 connected with 1.1.1.2 port 51598
[ ID] Interval       Transfer     Bandwidth       Jitter   Lost/Total Datagrams
[  3]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec  0.004 ms    0/  893 (0%)

2. El comando en el lado del cliente es como se muestra a continuación.

# iperf -u -c server
------------------------------------------------------------
Client connecting to 1.1.1.1, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size:   124 KByte (default)
------------------------------------------------------------
[  3] local 1.1.1.2 port 51598 connected with 1.1.1.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec
[  3] Sent 893 datagrams
[  3] Server Report:
[ ID] Interval       Transfer     Bandwidth       Jitter   Lost/Total Datagrams
[  3]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec  0.004 ms    0/  893 (0%)

Cambiar el ancho de banda predeterminado en modo UDP

En el modo UDP, el cliente utiliza el ancho de banda predeterminado (1 Mbit/seg) para enviar los paquetes al servidor, por lo que podemos ver que el ancho de banda del resultado de la prueba UDP es de 1,05 Mbits/seg. Para obtener el mejor ancho de banda de red, podemos agregar la opción “-b value ” para aumentar el ancho de banda de envío:

# iperf -u -c server -b 1000M
------------------------------------------------------------
Client connecting to 1.1.1.1, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size:   124 KByte (default)
------------------------------------------------------------
[  3] local 1.1.1.2 port 58097 connected with 1.1.1.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.10 GBytes    948 Mbits/sec
[  3] Sent 806540 datagrams
[  3] Server Report:
[ ID] Interval       Transfer     Bandwidth       Jitter   Lost/Total Datagrams
[  3]  0.0-10.0 sec  1.08 GBytes    929 Mbits/sec  0.010 ms 16203/806540 (2%)

Medición del tamaño máximo de transferencia (MTU)

La opción -m indica a iperf que también encuentre el Tamaño máximo de transferencia (MTU):

# iperf -mc 192.168.10.12
------------------------------------------------------------
Client connecting to 192.168.10.12, TCP port 5001
TCP window size: 19.3 KByte (default)
------------------------------------------------------------
[  3] local 192.168.10.13 port 46558 connected with 192.168.10.12 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   113 MBytes  94.7 Mbits/sec
[  3] MSS size 1448 bytes (MTU 1500 bytes, ethernet)


Cent OS
  1. Cómo usar BusyBox en Linux

  2. Cómo uso cron en Linux

  3. Cómo usar BUSCAR en Linux

  4. Cómo usar el comando Su en Linux

  5. Cómo usar el comando mtr de Linux

Cómo usar el comando nohup de Linux

Cómo usar operadores de prueba de archivos Bash en Linux

Introducción a VPN y aquí está cómo usarlo en Linux

Cómo usamos Linux Test Project para probar y mejorar Linux

Cómo configurar y usar Network Bridge en Ubuntu Linux

Cómo usar el comando netstat en Linux