Introducción
¿Tiene problemas con la conectividad cuando los visitantes de otros países acceden a su sitio web? ¿Se pregunta por qué la velocidad de descarga de su servidor extranjero es lenta? Puede configurar algoritmos de optimización TCP para ayudar a resolver el problema.
Existen varios algoritmos de optimización TCP bien conocidos. No todos estos algoritmos son gratuitos, por ejemplo, Zeta-TCP. Sin embargo, en este artículo, voy a presentar un algoritmo de optimización TCP gratuito con alto rendimiento conocido como Hybla.
Preparación
Para configurar Hybla, debe estar equipado con:
- Un VPS o servidor dedicado con Linux (se prefiere la versión LTS).
- Si es VPS, verifique que la virtualización sea KVM. De lo contrario, no tendrá suficientes privilegios para llamar a las funciones del núcleo adecuadas.
- Ejecute
/sbin/modprobe tcp_hybla
para habilitar Hybla y use lsmod | grep hybla
para verificar si la optimización puede funcionar normalmente.
Configuración
Si la versión de su núcleo es más reciente, por ejemplo, CentOS 6.x 2.6.32, puede usar el comando que se detalla 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
Puede configurar temporalmente un Vultr VPS para realizar pruebas antes de usar Hybla en un entorno de producción.
Agregue las líneas enumeradas a continuación a /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 utilizando el comando sysctl -p
. Hybla ahora está habilitado.
Comience cuando arranque
El tutorial enumerado anteriormente requiere que ejecute los comandos /sbin/modprobe hybla
y sysctl -p
manualmente después de cada reinicio. Para habilitar este algoritmo automáticamente, puede usar estos pasos como plantilla. Fueron escritos para CentOS.
Agregue un hybla.modules
archivo al /etc/sysconfig/modules
directorio e ingrese el contenido a continuación:
#!/bin/sh
/sbin/modprobe tcp_hybla
Luego otorgue los privilegios de ejecución del archivo:
chmod +x hybla.modules