¿Cuáles son las opciones de configuración del kernel de Linux para la comunicación TCP ultra rápida?

El ajuste de los protocolos de red depende en gran medida de su configuración particular. Solo por nombrar algunos de los componentes que debe tener en cuenta: aplicación / carga de trabajo, hardware de red (conmutadores, NIC) y sistema operativo.

Dicho esto, hay algunos botones de ajuste que puede usar para configurar TCP:

  1. Ventana de congestión inicial [1,2]
  2. Nagle [3]
  3. Tamaño de MTU
  4. Versión de TCP (por ejemplo, New Reno, Cubic)

Me abstendré de dar sugerencias específicas dado que no sé cuál es su configuración. Si se mueve fuera del protocolo, hay otras cosas que puede hacer: omisión de kernel, descarga de NIC, gestión de congestión y mensajes ECN (p. Ej., DCTCP [4]).

[1] Aumento de la ventana de congestión inicial de TCP

[2] https://developers.google.com/sp…

[3] Algoritmo de Nagle – Wikipedia

[4] Centro de datos TCP

Una opción de configuración fácil que a menudo puede acelerar la conexión en red es aumentar la MTU de una interfaz de red, por ejemplo, eth0. La MTU es el tamaño máximo en bytes de un paquete de red. Esto se puede modificar dinámicamente con los comandos “ip” o “ifconfig”, o empezando persistentemente en su próximo reinicio insertando la línea “mtu $ x” en su “/ etc / network / interfaces” (o el equivalente en su sabor de Linux, si no estás en la familia ubuntu / debian). Un buen valor para $ x podría ser algo así como 9000 en lugar del valor predeterminado más común de 1500. Sin embargo, el rendimiento de la red es un fenómeno complicado, así que no piense simplemente “9000> 1500, ¡tan bueno!” Más rápido.

Esto influirá no solo en el rendimiento de TCP, sino también en el rendimiento de UDP porque este cambio se está aplicando a la interfaz de red en sí, en lugar del código relacionado específicamente con TCP.

No estoy seguro de si mi respuesta se ajusta a una estricta interpretación pedante de su pregunta porque MTU no necesita establecerse como un indicador de compilación del núcleo, pero espero que sea útil.