Sobes.tech
Back to questions
Senior
3

Какие параметры ядра Linux ты настраивал при тюнинге TCP-стека?

Companies where asked
S8 Capital

Answer from AI

sobes.tech AI

При тюнинге TCP-стека в Linux часто настраивают следующие параметры ядра (через sysctl или напрямую в /proc/sys/net/ipv4/):

  • net.ipv4.tcp_fin_timeout — время ожидания закрытия соединения в состоянии FIN_WAIT_2.
  • net.ipv4.tcp_tw_reuse и net.ipv4.tcp_tw_recycle — позволяют повторно использовать и быстрее очищать TIME_WAIT-сокеты (в новых ядрах tcp_tw_recycle отключён из-за проблем).
  • net.ipv4.tcp_max_syn_backlog — максимальное количество ожидающих соединений в очереди SYN.
  • net.ipv4.tcp_syncookies — включение SYN cookies для защиты от SYN-флуд атак.
  • net.core.somaxconn — максимальный размер очереди для прослушивающих сокетов.
  • net.ipv4.tcp_rmem и net.ipv4.tcp_wmem — размеры буферов приёма и передачи TCP.
  • net.ipv4.tcp_congestion_control — выбор алгоритма управления перегрузкой (например, cubic, bbr).

Пример настройки через sysctl:

sysctl -w net.ipv4.tcp_fin_timeout=30
sysctl -w net.ipv4.tcp_tw_reuse=1
sysctl -w net.core.somaxconn=1024

Настройка зависит от нагрузки, типа приложений и требований к производительности.