Вступление
Возникли проблемы с подключением, когда посетители из других стран заходят на ваш сайт? Хотите знать, почему скорость загрузки с вашего внешнего сервера медленная? Вы можете настроить алгоритмы оптимизации TCP, чтобы помочь решить проблему.
Существует несколько известных алгоритмов оптимизации TCP. Не все эти алгоритмы бесплатны, например, Zeta-TCP. Однако в этой статье я собираюсь представить бесплатный алгоритм оптимизации TCP с высокой производительностью, известный как Hybla.
подготовка
Чтобы настроить Hybla, вы должны быть оснащены:
- VPS или выделенный сервер с Linux (предпочтительна версия LTS).
- Если VPS, убедитесь, что виртуализация KVM. В противном случае у него не будет достаточно привилегий для вызова соответствующих функций ядра.
- Запустите
/sbin/modprobe tcp_hybla
для включения Hybla и используйте, lsmod | grep hybla
чтобы проверить, может ли оптимизация работать нормально.
конфигурация
Если ваша версия ядра новее, например, CentOS 6.x 2.6.32, вы можете использовать команду, указанную ниже, для просмотра доступных алгоритмов перегрузки. Hybla будет показан, как только вы загрузите его.
sysctl net.ipv4.tcp_available_congestion_control
Вы можете временно настроить Vultr VPS для тестирования перед использованием Hybla в производственной среде.
Добавьте строки, перечисленные ниже, в /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
Вы можете сразу включить изменение, используя команду sysctl -p
. Hybla теперь включена.
Начать при загрузке
Приведенный выше учебник требует, чтобы вы запускали команды /sbin/modprobe hybla
и sysctl -p
вручную после каждого перезапуска. Чтобы включить этот алгоритм автоматически, вы можете использовать эти шаги в качестве шаблона. Они были написаны для CentOS.
Добавьте hybla.modules
файл в /etc/sysconfig/modules
каталог и введите содержимое ниже:
#!/bin/sh
/sbin/modprobe tcp_hybla
Затем предоставьте права на выполнение файла:
chmod +x hybla.modules