GNU/Linux >> Tutoriales Linux >  >> Linux

Solución de problemas de comunicación de red lenta o tiempos de espera de conexión en Linux

La solución de problemas de una red lenta o caídas de paquetes de red puede ser complicada. Además de una comunicación de red más lenta, es posible que se observen síntomas adicionales, como:

  • Los intentos de conectarse a un servidor con ssh y/o sftp dan como resultado tiempos de espera o una respuesta retrasada.
  • Cuando la carga de la red aumenta, se observa una gran cantidad de retransmisiones de la red.
  • Es posible que se vea una gran cantidad de caídas de paquetes en la salida del comando "ifconfig eth[x]".

Algunos otros síntomas también incluyen:

– La salida del comando:netstat -s muestra valores crecientes para las siguientes estadísticas :(ejecutar varias veces ‘netstat -s’):

13336 packets pruned from receive queue because of socket buffer overrun
516 times the listen queue of a socket overflowed
516 SYNs to LISTEN sockets ignored
2040077 packets collapsed in receive queue due to low socket buffer
TCPBacklogDrop: 744165

– La salida del comando:ethtool -S eth[x] muestra valores crecientes contra el contador:“rx_fw_discards”:

rx_fw_discards: 4493

Causas de un rendimiento de red más lento

Puede haber múltiples razones para un rendimiento de red más lento. Pero algunas de las posibles causas son:

  • La red ya está muy cargada, hasta su capacidad máxima y hay congestión.
  • Los búferes de recepción configurados no son suficientes para la carga de la red.
  • Hay caídas de paquetes debido a errores en la capa física.

Resolución de problemas de rendimiento lento de la red

1. Verifique el rendimiento de la red con la herramienta iperf y determine si la utilización del ancho de banda de la red se acerca al rendimiento máximo observado.

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

2. Establezca los valores de los parámetros de la red de forma adecuada para admitir el máximo rendimiento de la red. Encuentre el valor del producto de retardo de ancho de banda (BDP) y establezca el tamaño del búfer de red en consecuencia. Se calcula como el producto del ancho de banda del enlace y el tiempo de ida y vuelta.

Por ejemplo:

– Para una red de 1 Gb/s y un tiempo de viaje de ida y vuelta de 0,1 s, el BDP=(0,1 * 10^9)/8. En dicha red, establezca los siguientes valores de parámetros en el archivo:/etc/sysctl.conf

# vi /etc/sysctl.conf
net.core.rmem_max = 12500000
net.core.wmem_max = 12500000
net.ipv4.tcp_rmem = 4096 87380 12500000
net.ipv4.tcp_wmem = 4096 65536 12500000

Y aumente también los siguientes parámetros:

# vi /etc/sysctl.conf
net.core.netdev_max_backlog = 30000
net.ipv4.tcp_max_syn_backlog = 4096

Y luego ejecute el comando:

# sysctl -p

a) Para ambos cambios no es necesario reiniciar el sistema.

b) Publique este cambio, es necesario monitorear la salida del comando "netstat -s" y verificar si los siguientes contadores siguen aumentando:

packets pruned from receive queue because of socket buffer overrun
times the listen queue of a socket overflowed
SYNs to LISTEN sockets ignored
packets collapsed in receive queue due to low socket buffer
TCPBacklogDrop

3. Aumente el tamaño del búfer del anillo RX de la NIC. Hay una compensación al establecer este número. Un valor mayor podría retrasar el procesamiento de los paquetes y un valor más bajo podría provocar caídas de paquetes cuando el controlador correspondiente encuentre un retraso en el procesamiento de los paquetes entrantes.

a) En general, comience duplicando el tamaño del anillo RX y controle la salida del comando "ethtool -S eth[x]".

# ethtool -G eth[x] rx 512

b) Para que este cambio sea permanente, agregue lo siguiente al archivo:/etc/sysconfig/network-scripts/ifcfg-eth[x] :

# vi /etc/sysconfig/network-scripts/ifcfg-eth[x]
ETHTOOL_OPTS="-G rx 512"


Linux
  1. Administre las conexiones de red desde la línea de comandos de Linux con nmcli

  2. 5 comandos de solución de problemas de red de Linux

  3. ¿Resolución de problemas y depuración de redes Linux?

  4. Linux – Medios lentos – ¿Ajuste de caché de disco?

  5. ¿Hay STDCALL en Linux?

Los 5 mejores temas de Linux Conky

Una colección de utilidades para simplificar la resolución de problemas de la red Linux y el ajuste del rendimiento

Una guía para principiantes sobre la resolución de problemas de red en Linux

Mis comandos de solución de problemas de red de Linux

3 formas de configurar una interfaz de red en Linux

Comando de descarga de Linux