Stop letting TCP window scaling choke your high-speed transfers

Performance Tuning & Kernel Parameters (Sysctl)

Stop letting TCP window scaling choke your high-speed transfers

🧩 The Challenge

Dealing with a server that sits on a fast network but still crawls when moving large files makes no sense. I’ve wasted hours checking firewall rules and disk I/O only to realize the kernel was capping the throughput because it didn’t think the connection needed to go any faster.

💡 The Fix

Crank up the TCP memory buffers so the kernel stops playing it safe and actually lets the wire do the work. This makes a massive difference when you’re moving backups across data centers or hitting high-latency links.

sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"
sysctl -p

⚙️ Why It Works

Default kernel settings are often stuck in the dark ages of dial-up, keeping these buffers artificially low to save a few kilobytes of RAM. Adjusting these values allows the TCP window to scale up appropriately for modern gigabit or 10Gbps interfaces.

🚀 Pro-Tip: Don’t forget to commit these to /etc/sysctl.conf so they don’t vanish the next time the server hits a reboot.

Linux Tips & Tricks | © ngelinux.com | 9/30/2026

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Newest
Oldest Most Voted