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
