Jack Wallen le muestra cómo utilizar el muy mejorado algoritmo de control de congestión TCP de Google en Linux para aumentar significativamente la velocidad de la red.
Google desarrolló un Algoritmo de Control de Congestión TCP (CCA) llamado Ancho de Banda de Cuello de Botella TCP y RRT (BBR) que supera muchos de los problemas encontrados tanto en Reno como en CUBIC (los CCAs por defecto. Este nuevo algoritmo no sólo logra mejoras significativas en el ancho de banda, sino que también reduce la latencia. TCP BBR ya se utiliza con los servidores de google.com, y ahora puedes hacerlo, siempre y cuando tu máquina Linux ejecute el kernel 4.9 o una versión más reciente.
Fuera de la caja, Linux usa Reno y CUBIC. Puede probar esto emitiendo el comando:
sysctl net.ipv4.tcp_available_congestion_control
El comando anterior debe reportar
net.ipv4.tcp_available_congestion_control = cubic reno
Hagamos el cambio a BBR.
Lo que necesitarás
Lo primero que debe hacer es asegurarse de que su máquina Linux está ejecutando un kernel compatible. Emita el comando uname -r. Si su kernel es anterior a 4.9, esto no funcionará. Tendrás que actualizar tu kernel. Por ejemplo, Ubuntu 16.04 ejecuta el kernel 4.4 desde el principio. Si su servidor es tal que el kernel puede ser actualizado, Ubuntu ahora tiene un medio muy fácil de actualizar a un kernel mucho más nuevo. Para ello, abra una ventana de terminal y ejecute los dos comandos siguientes:
sudo apt updatesudo apt install --install-recomienda linux-generic-hwe-16.04
Después de ejecutar los comandos anteriores, reinicie el servidor. Una vez que el servidor haya arrancado, inicie sesión y emita el comando uname -r. Ahora debería ver el servidor ejecutando al menos el kernel 4.13 (al momento de escribir esto.
Ahora que tiene un kernel de soporte, pongamos BBR como el algoritmo de control de congestión por defecto.
Ajuste BBR
Configurar BBR como el valor predeterminado es sencillo. Abra una ventana de terminal y ejecute el comando sudo nano /etc/sysctl.conf. En la parte inferior de este archivo, agregue las siguientes dos líneas:
net.core.default_qdisc=fqnet.ipv4.tcp_congestion_control=bbr
Guarde y cierre ese archivo. Recargue sysctl con el comando sudo sysctl -p. Ahora, cuando compruebe qué algoritmo de control de congestión está en uso (con el comando sysctl net.ipv4.tcp_congestion_control), verá que la salida contiene bbr (.
Eso es todo lo que hay que hacer. Ahora puede disfrutar de la muy mejorada CCA de Google en Linux. Debería ver mejoras significativas con la velocidad de la red en ese servidor.
Boletín Semanal de Código Abierto
No se pierda nuestros consejos, tutoriales y comentarios sobre el sistema operativo Linux y las aplicaciones de código abierto. Entregado los martes
mismo