Настройка TCP BBR
BBR (Bottleneck Bandwidth and Round-trip propagation time) — это алгоритм управления перегрузкой TCP, разработанный Google. Он значительно улучшает пропускную способность сети и снижает задержку (пинг) по сравнению со стандартным алгоритмом CUBIC, который используется в Linux по умолчанию.
Зачем это нужно?
BBR особенно полезен для игровых серверов, так как он лучше справляется с потерей пакетов и обеспечивает более стабильное соединение для игроков. Это может заметно снизить пинг и уменьшить количество лагов, связанных с сетью.
1. Проверка текущего алгоритма
Подключитесь к серверу по SSH и выполните команду:
sysctl net.ipv4.tcp_congestion_controlЕсли в ответ вы увидите net.ipv4.tcp_congestion_control = cubic, значит используется стандартный алгоритм и есть смысл переключиться на BBR.
2. Проверка поддержки BBR
BBR доступен в ядрах Linux версии 4.9 и выше. Проверьте версию вашего ядра:
uname -rУбедитесь, что модуль BBR доступен:
sudo modprobe tcp_bbrЕсли модуль не найден
Если команда выдала ошибку FATAL: Module tcp_bbr not found, ваше ядро собрано без поддержки BBR. Обратитесь к хостинг-провайдеру или обновите ядро до версии 4.9+.
3. Включение BBR
Откройте файл /etc/sysctl.conf:
sudo nano /etc/sysctl.confДобавьте в конец файла следующие строки:
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbrПро алгоритм очереди
fq (Fair Queue) — рекомендуемый алгоритм управления очередями для работы с BBR. Он обеспечивает справедливое распределение пропускной способности между потоками и необходим для корректной работы BBR.
Примените изменения:
sudo sysctl -p4. Проверка
Убедитесь, что BBR успешно активирован:
sysctl net.ipv4.tcp_congestion_controlОжидаемый вывод:
net.ipv4.tcp_congestion_control = bbrТакже можно проверить, что модуль загружен:
lsmod | grep bbrОжидаемый вывод:
tcp_bbr 20480 XBBR2 и BBR3
Существуют более новые версии алгоритма — BBR2 и BBR3, но они не включены в стандартные ядра Linux и доступны только через кастомные ядра (например, XanMod). Для подавляющего большинства серверов BBR v1 более чем достаточен и даёт значительный прирост по сравнению с CUBIC.
