¿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 utilicelsmod | 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.
- Artículo académico disponible en la documentación de la Universidad Emory: TCP Hybla: a TCP enhancement for heterogeneous networks.