TGViewer
Linux: Системный администратор Linux: Системный администратор @linux_odmin · 1.92K subscribers
Post #188 910
Ускоряем TCP-стек: тонкий тюнинг offload и sysctl

В самом пиковом трафике TCP-серверы часто не вытягивают заявленную пропускную способность. Причина — неэффективные offload-фичи NIC и «жесткие» дефолтные параметры ядра.

1. Проверяем возможности сети (offloads):


ethtool -k eth0


Вы увидите, какие фичи задействованы (GRO, GSO, TSO, LRO и т.п.).

2. Тонкая настройка offload-фичей:

▫️Чтобы отключить оффлоад (например, при отладке или если оборудование плохо работает):


ethtool -K eth0 gro off gso off tso off lro off

▫️Чтобы вернуть на продакшн-уровень (во многих случаях лучше оставить включённым):


ethtool -K eth0 gro on gso on tso on lro on


Зачем: отключение может помочь выявить причину артефактов или падений производительности. В бою же правильная комбинация offload снижает CPU-нагрузку.


3. Настройка sysctl для TCP-стека:
Создаём файл /etc/sysctl.d/99-network-tuning.conf с ключевыми параметрами:


# Увеличиваем буферы приёмника/передачи
net.core.rmem_max = 268435456
net.core.wmem_max = 268435456

# Автоматически масштабируем буферы TCP
net.ipv4.tcp_rmem = 4096 87380 268435456
net.ipv4.tcp_wmem = 4096 87380 268435456

# Увеличиваем размер очереди соединений
net.core.somaxconn = 1024

# Включаем TCP Fast Open (по возможности)
net.ipv4.tcp_fastopen = 3

# Тюнинг для низкой задержки (если нужно)
net.ipv4.tcp_low_latency = 1


Сохраняем и применяем:


sysctl --system


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


4. Полезный трюк (systemd-интеграция offload):
Вместо скриптов можно зафиксировать нужные offload-параметры в профиле systemd-networkd.
Создаём /etc/systemd/network/20-eth0.network:


[Match]
Name=eth0

[Link]
# Примеры: включить TSO и GSO, отключить GRO
TCPGenericReceiveOffload=no
TCPGenericSendOffload=yes


Дальше:


systemctl restart systemd-networkd


Такой подход гарантирует, что при рестарте сети offload-настройки сохранятся.

5. Предупреждение об ошибке:
Не стоит «глушить» все offload-фичи на продакшене без причин — может вырасти CPU-загрузка и снизиться общая пропускная способность.

Заключение:
Правильный монтаж offload и sysctl-тюнинг — залог стабильной и быстрой сети.

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
  • 👍 2
More from @linux_odmin
  1. Sep 11, 2026🔥 Когда tcpdump врёт: ловим только то, что проходит через iptables Иногда вы запускаете t…
  2. Sep 8, 2026Хотите быстро проверить, через какой интерфейс и IP ваш Linux-сервер выйдет к определённом…
  3. Sep 1, 2026Как быстро сбросить сетевой интерфейс без перезапуска системы Иногда после правки конфигур…
  4. Aug 26, 2026🔐 Fail2Ban для защиты SSH: настройка за 2 минуты SSH — первая цель сканеров и брутфорсеро…
  5. Aug 23, 2026Диагностика “висящих” TCP-соединений: как быстро найти виновника Когда приложение “подвиса…
  6. Aug 12, 2026🔥 WireGuard через systemd: автоподключение при старте + автоматический рестарт WireGuard…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →