Full gigabit speeds in linux and windows

Finally, I'm able to get fully gigabit speeds from my linux server to my workstation. I couldn't tell who was the bottle neck before so I tuned them both. Originally, no matter what I did I would cap out at 160 to 320mbps at any point using any TCP or UDP. Ping seemed to work so I know it wasn't a bus issue. Come to find out, a few sysctl and registry hacks got me to 871mbps! No jumbo frames either, as those don't really fix the problem.

In linux I have the following in my sysctl. Keep in mind that this is a Dual Xeon 2.0Ghz with 1GB ram and a intel gigabit on PCI-X.

sysctl.conf

# Gigabit tuning
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
# net.core.wmem_max = 8388608
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 2096 65535 16777216
net.ipv4.tcp_mem = 98304 131072 196608
net.core.netdev_max_backlog = 250000
net.ipv4.tcp_timestamps = 1
net.ipv4.ip_local_port_range = 1025 61000

# VM pressure fixes
vm.swappiness = 100
vm.inactive_clean_percent = 100
vm.pagecache = 200 10 20
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5


# Security tweaks
net.ipv4.tcp_synack_retries = 3
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_syn_backlog = 10240
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200

along with a few windows registry hacks (from the article) I was able to get >800mbps with ttcp. Finally!

Sources

Networking Planet - Squeeze Your Gigabit NIC for Top Performance
TTCP testing for Linux and Windows


View Landreth Kevin's LinkedIn profileView Kevin Landreth's profile