I updated the networking options in the /etc/sysctl.conf file to optimize network communications on my linux server.
I added the following options. A reboot was necessary for them to take effect
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 3
net.core.rmem_default = 65535
net.core.rmem_max = 8388608
net.ipv4.tcp_rmem = 4096 87380 8388608
net.core.wmem_default = 65535
net.core.wmem_max = 8388608
net.ipv4.tcp_wmem = 4096 65535 8388608
net.ipv4.tcp_mem = 8388608 8388608 8388608
net.core.optmem_max = 40960
Hello I found your blog for casualty when searching and I wonder if these options are for your specify server and network speed or for general use?
I use Archlinux with dsl connection.
miquel
Comment by Miquel — May 13, 2008 @ 6:55 am
I was using these options with on a small server that I have (1 ghz Celeron and 1 GB of Ram). I was trying to get better performance when copying files on a 100mb lan. I did not measure the performance increase, but it seemed a little faster. If you search the net you will find that these settings are widely used for 100mb or faster networks.
Comment by Josh — May 14, 2008 @ 6:57 pm
Thanks I will try them.
Comment by Miquel — May 14, 2008 @ 8:19 pm