Все системы в норме

Оплата в Bitcoin, Monero, USDT, Ethereum или Solana · регистрация только по email

Сеть

Тонкая настройка Linux под 10 Гбит/с

BBR, буферы сокетов, очереди сетевой карты и реалистичный способ проверить порт 10 Гбит/с.

6 мин чтенияПроверено 25 сентября 2026 г.

Сетевая карта на 10 Гбит/с с оптическими трансиверами и ползунками настройки

Параметры ядра

net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
$ sysctl --system

Большие буферы важны для удалённых клиентов: один TCP-поток может передавать не больше, чем размер окна, делённый на время приёма-передачи (RTT).

Сетевая карта

$ ethtool -g eno1          # ring buffer sizes
$ ethtool -G eno1 rx 4096 tx 4096
$ ethtool -k eno1 | grep -E 'segmentation|receive-offload'

Оставьте offload-функции (TSO, GRO) включёнными и позвольте irqbalance распределять прерывания по ядрам. MTU в интернете — 1 500 байт: jumbo-кадры помогают только в частной сети VLAN.

На стороне приложения

  • nginx: sendfile on; tcp_nopush on; и достаточное значение worker_processes, чтобы задействовать несколько ядер.
  • Отдавайте часто запрашиваемые файлы из памяти или с NVMe: жёсткие диски сами по себе не способны обеспечить 10 Гбит/с.

Тестирование

Одно соединение через интернет редко загружает порт 10 Гбит/с полностью. Тестируйте в несколько параллельных потоков, выбрав близкий узел с хорошей связностью:

$ iperf3 -c <test-server> -P 8 -t 30
Сеть

Ещё в разделе «Сеть»

Все 5 руководств
Огромные «соты» из адресных ячеек, расходящиеся от сервера и маршрутизатора

Сеть

Настройка подсети IPv6 /64

Добавьте маршрутизируемую подсеть IPv6 через netplan или ifupdown, проверьте её и раздайте адреса виртуальным машинам.

5 мин чтенияЧитать руководство