Просто повысьте производительность сети в Ubuntu, активировав TCP BBR

В данном руководстве описывается процесс активации TCP BBR на Ubuntu. TCP BBR представляет собой алгоритм контроля перегрузки, разработанный компанией Google. Он решает проблемы, присущие классическим алгоритмам, таким как Reno и CUBIC. По заявлениям Google, BBR позволяет значительно повысить пропускную способность и снизить задержку. Этот алгоритм уже внедрён на серверах Google.com и YouTube, а его стандартизация Internet Engineering Task Force (IETF) началась в июле 2017 года. Аббревиатура BBR расшифровывается как Bottleneck Bandwidth and RTT.

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

Убедитесь в корректной настройке алгоритмов контроля перегрузки TCP в Linux.

В Linux по умолчанию применяются алгоритмы управления перегрузкой Reno и CUBIC. Чтобы узнать, какие алгоритмы доступны, выполните следующую команду.

Читайте также:  Проверка входящих писем на вирусы в Linux

sysctl net. ipv4.tcp_available_congestion_control

net. ipv4.tcp_available_congestion_control = Кубическая реновация.

Для проверки алгоритма управления перегрузкой, применяемого в данный момент, выполните следующее.

sysctl net. ipv4.tcp_congestion_control

net. ipv4.tcp_congestion_control = cubic

Удостоверьтесь, что используете ядро Linux версии 4.9 или новее.

Поддержка TCP BBR появилась в Linux с версии ядра 4.9. Чтобы узнать, какая версия ядра установлена на вашей системе, выполните следующую команду.

uname - r

Ubuntu 18.04 оснащена ядром версии 4.13.

4.13.0-16-generic

Ubuntu 20.04 основана на ядре версии 5.4.

5.4.0-96-generic

В Ubuntu 22.04 задействовано ядро версии 5.15.

5.15.0-25-generic

Активируйте TCP BBR в Ubuntu.

Убедившись, что ваше ядро версии 4.9 или выше, внесите изменения в файл sysctl.conf.

sudo nano /etc/sysctl.conf

В конце файла необходимо добавить следующие две строки.

Читайте также:  Установка NextCloud на Ubuntu 20.04 с использованием Apache (LAMP стек)

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

Ubuntu TCP BBR

Сохраните изменения в файле и закройте его. После этого обновите настройки sysctl.

sudo sysctl - p

Если вы корректно вставили упомянутые две строки в файл, они появятся в выводе, как показано ниже.

linuxbabe@ubuntu:~$ sudo sysctl - p net. core. default_qdisc = fq net. ipv4.tcp_congestion_control = bbr

Теперь убедитесь в корректности используемого алгоритма управления перегрузкой.

sysctl net. ipv4.tcp_congestion_control

net. ipv4.tcp_congestion_control = bbr

Поздравляем! Вам удалось активировать TCP BBR на Ubuntu.

Повышение быстродействия

Я применил прокси Shadowsocks на недорогом VPS для тестирования TCP BBR. Результат значительно повысил скорость. На следующем скриншоте показана скорость подключения к YouTube до активации TCP BBR на моем прокси-сервере. Как видно, скорость составила всего около 400 Кб/с (50 КБ/с).

Читайте также:  Вывести размер каждого файла в каталоге в байтах вместе с его именем в Linux

активируйте TCP BBR на Ubuntu 16.04

После активации TCP BBR на моем прокси-сервере скорость соединения YouTube составила 9878 Кб/с, что соответствует примерно 1234 КБ/с. Мой прокси-сервер ускорился в 24 раза!

активировать TCP BBR в Ubuntu

На втором прокси-сервере Shadowsocks скорость возросла с приблизительно 10 Мбит/с до около 62 Мбит/с (64172 Кбит/с) после активации TCP BBR.

Увеличение производительности TCP BBR

Не деактивируйте функцию масштабирования окна TCP.

Чтобы устранить проблему, возможно, вам придется отключить масштабирование окна TCP, однако это может существенно ухудшить производительность сети. Для активации масштабирования окна TCP добавьте следующую строку в файл /etc/sysctl.conf.

net. ipv4.tcp_window_scaling = 1

После этого внесите изменения.

sudo sysctl - p

На этом всё! Надеюсь, что данный урок был полезен для вас и помог активировать TCP BBR на Ubuntu. Если вы считаете эту информацию ценной, не забудьте подписаться на нашу бесплатную рассылку, чтобы получать ещё больше полезных советов и рекомендаций.

Анализ эффективности работы

  • Отслеживание работы сервера на базе Linux с использованием Netdata (2022)