Поиск по сайту:

Как повысить скорость Интернета на Linux-сервере с помощью TCP BBR


BBR (Пропускная способность узкого места и RTT) – это относительно новый алгоритм контроля перегрузки, написанный разработчиками программного обеспечения Google. Это последнее решение в результате настойчивых попыток Google сделать Интернет быстрее с помощью протокола TCP — рабочей лошадки Интернета.

Основная цель BBR — повысить загрузку сети и уменьшить очереди (которые приводят к замедлению сетевой активности): его следует развертывать на серверах, а не в сети или на стороне клиента. В Linux BBR реализован в ядре версии 4.9 или выше.

В этой статье мы кратко объясним TCP BBR, а затем покажем, как повысить скорость Интернет-соединения сервера Linux с помощью контроля перегрузки TCP BBR в Linux.

Требования

У вас должно быть установлено ядро Linux версии 4.9 или выше, скомпилированное со следующими параметрами (либо в виде модуля, либо встроено в него):

  • CONFIG_TCP_CONG_BBR
  • CONFIG_NET_SCH_FQ
  • CONFIG_NET_SCH_FQ_CODEL

Как проверить модули ядра в Linux

Чтобы проверить, скомпилированы ли указанные выше параметры в вашем ядре, выполните следующие команды:


cat /boot/config-$(uname -r) | grep 'CONFIG_TCP_CONG_BBR'
cat /boot/config-$(uname -r) | grep 'CONFIG_NET_SCH_FQ'

Чтобы обновить ядро, ознакомьтесь с этими руководствами:

  1. Как обновить ядро до последней версии в Ubuntu
  2. Как установить или обновить до последней версии ядра в CentOS 7

Включение контроля перегрузки TCP BBR в Linux

BBR эффективно работает с регулированием скорости, поэтому его необходимо использовать вместе с бесклассовым планировщиком пакетов fq qdisc для регулирования скорости трафика. Чтобы получить дополнительную информацию о fq qdisc, введите:

man tc-fq

Зная BBR, вы теперь можете настроить его на своем сервере. Откройте файл /etc/sysctl.conf в своем любимом редакторе.

vi /etc/sysctl.conf

Добавьте параметры ниже в конце файла.

net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

Сохраните и закройте файл. Затем внесите изменения в систему с помощью команды sysctl.

sysctl --system

На снимке экрана вы можете видеть, что параметры были добавлены с соответствующими значениями.

Тестирование конфигурации управления перегрузкой TCP BBR

После выполнения необходимых настроек вы можете проверить, работает ли он на практике. Существует несколько инструментов для измерения скорости полосы пропускания, например Speedtest-CLI:

  1. Как проверить скорость вашего Интернета в двух направлениях из командной строки с помощью инструмента Speedtest-CLI

Другие инструменты включают bmon (монитор пропускной способности), nload, Wget — загрузчик файлов на основе команд и cURL, которые показывают пропускную способность сети; вы можете использовать их для тестирования.

Репозиторий BBR на Github: https://github.com/google/bbr.

Вам также может быть интересно прочитать следующие статьи по теме.

  1. Настройте свой собственный «Мини-сервер Speedtest» для проверки скорости полосы пропускания Интернета.
  2. Как ограничить пропускную способность сети, используемую приложениями в системе Linux, с помощью Trickle
  3. Как изменить параметры времени выполнения ядра постоянным и непостоянным способом

В этой статье мы показали, как повысить скорость Интернет-соединения сервера Linux с помощью контроля перегрузки TCP BBR в Linux. Всесторонне протестируйте его в различных сценариях и оставьте нам важный отзыв через форму комментариев ниже.

1 кредит