¿Cómo configurar una optimización TCP en nuestro servidor Linux?

Actualizado el 07 de diciembre, 2016. Por BlueHosting.

¿Tiene problemas con la conectividad cuando los visitantes de otros países acceden a su sitio web? ¿Se está preguntando por qué la velocidad de descarga desde servidores extranjeros es tan lenta? Puede configurar algoritmos de optimización TCP para ayudarle a resolver el problema.
Hay varios algoritmos de optimización TCP reconocidos. No todos estos algoritmos son gratuitos, por ejemplo, Zeta-TCP. Sin embargo, en este artículo se presenta un algoritmo de optimización TCP gratuito de alto rendimiento conocido como Hybla.

Requisitos previos

Para instalar Hybla, debe tener en cuenta los siguientes requisitos:

  • Debe tener un VPS o servidor dedicado con Sistema Operativo Linux (versión LTS preferiblemente).
  • Si es un VPS, compruebe que la virtualización sea del tipo KVM. De lo contrario, no podrá tener los privilegios necesarios para realizar las llamadas a las funciones requeridas del kernel.
  • Ejecute el comando /sbin/modprobe tcp_hybla para habilitar Hybla. Luego utilice lsmod | grep hybla para verificar si la optimización puede funcionar con normalidad.

Configuración

Si su versión de kernel es más nueva, por ejemplo CentOS 6.x 2.6.32, puede usar el comando mostrado a continuación para ver los algoritmos de congestión disponibles. Se mostrará Hybla, una vez que lo haya cargado.

sysctl net.ipv4.tcp_available_congestion_control

Recomendamos configurar su servidor de BlueHosting para hacer pruebas antes de usar Hybla en un ambiente de producción.

Agregue las líneas mostradas a continuación al archivo /etc/sysctl.conf.

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.core.netdev_max_backlog = 250000
net.ipv4.tcp_mtu_probing=1
net.ipv4.tcp_congestion_control=hybla

Puede habilitar el cambio inmediatamente usando el comando sysctl -p. Hybla ahora estará habilitado.

Habilitar el servicio en el arranque

El tutorial mostrado arriba requiere que ejecute los comandos /sbin/modprobe hybla y sysctl -p de forma manual después de cada reinicio del servidor. Para habilitar este algoritmo automáticamente, puede utilizar estos pasos como una plantilla. Están escritos para un sistema en CentOS.

Agregue un archivo hybla.modules al directorio /etc/sysconfig/modules e ingrese el contenido mostrado a continuación:

#!/bin/sh
/sbin/modprobe tcp_hybla

Luego otorgue los permisos de ejecución al archivo:

chmod +x hybla.modules

Recursos adicionales

Puede consultar los siguientes recursos en busca de información adicional con respecto a este tema. Aunque este material es provisto esperando que sea útil, tenga en cuenta que no podemos certificar la actualidad o precisión de los contenidos externos.

¿QUÉ DESEAS SABER?

Intentaremos leer tu mente...