SynologyRS
Networking

Network tuning: TCP, BBR and conntrack on a 1 Gbps link

📅 2025-01-09✎ 8 min read

Kernel socket knobs that are safe to touch and the one to leave alone.

Network tuning has a way of making you feel like an engineer while changing nothing. Some knobs are genuinely worth it on a small VPS, one is a classic foot-gun, and most blog numbers are for datacenter kernels, not yours.

BBR — the real winner

sysctl net.core.somaxconn
# enable BBR on a modern kernel:
echo tcp_bbr | sudo tee -a /etc/modules-load.d/tcp-bbr.conf
sudo sysctl -w net.ipv4.tcp_congestion_controller=bbre

BBR usually helps on lossy or congested paths, and it is basically free on a modern kernel. It is the one “performance” knob I touch without nervousness.

The socket defaults

net.ipv4.tcp_tw_reuse=1
net.core.somaxconn=1024
net.ipv4.ip_local_port_range=1024 65535

The one to leave alone

Window scaling and those TCP buffers are fine at default. The classic mistake is cranking net.core.somaxconn and expecting magic — a bigger listen backlog only helps if something is actually refusing connections, which you confirm with ss -s, not by feeling.

If you cannot point at a metric that is failing, you are not tuning the network, you are decorating it.