|Cloud & SRE

Linux Sysctl Tuning for 100Gbps High-Throughput Web Services

Deep dive into tcp_tw_reuse, somaxconn, file descriptors, and netfilter connection tracking thresholds to eliminate packet drops.

Default Linux kernel parameters are optimized for battery-friendly desktop systems, not high-concurrency web servers handling 200,000 requests per second. Under heavy loads, systems encounter connection resets, SYN flood false positives, and socket exhaustion.

Essential /etc/sysctl.conf Parameters

# Increase socket backlog for listen queues
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535

# Re-use TIME_WAIT sockets for outgoing connections
net.ipv4.tcp_tw_reuse = 1

# Increase ephemeral port range
net.ipv4.ip_local_port_range = 1024 65535

# Enlarge file descriptor table
fs.file-max = 2097152

# Maximize netfilter conntrack table size
net.netfilter.nf_conntrack_max = 1048576

Apply changes immediately without rebooting via sysctl -p. Verify that your system limits (/etc/security/limits.conf) permit your server process to open equivalent numbers of file descriptors (nofile 65535).

Related Articles