Boosting Network Throughput with TCP Window Scaling
Performance Tuning & Kernel Parameters (Sysctl)
Boosting Network Throughput with TCP Window Scaling
🧩 The Challenge
High-latency network connections often suffer from throughput bottlenecks because the default TCP window size is too small to handle large amounts of data in transit. This leads to inefficient bandwidth utilization and slower file transfers.
💡 The Fix
Increase the maximum TCP receive and send buffer sizes in the kernel to allow the protocol to handle larger chunks of data without waiting for acknowledgments. This effectively increases the bandwidth-delay product of your connections.
sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216 sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216" sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"
⚙️ Why It Works
These settings expand the memory buffers allocated to TCP sockets, permitting the network stack to keep more data “in flight” and significantly improving throughput on high-latency links. By increasing both the global socket limits and the auto-tuning parameters, the kernel can dynamically scale buffers based on actual network demand.
🚀 Pro-Tip: Use sysctl -p after editing /etc/sysctl.conf to make these performance tweaks persistent across system reboots.
Linux Tips & Tricks | © ngelinux.com | 7/5/2026
