Optimizing these settings depends a lot on the environment and nature of connection. As an instance, these are some of the settings I have:
The FIN in the tcp protocol defaults in 60 seconds. I tend to reduce it to 20, some people reduce it to less. In the end, is just a goodbye from one IP to another :)
net.ipv4.tcp_fin_timeout = 20
For the TCP buffers I have the following settings:
(r = receive, w=send)
# 8MB for core mem max, default 65K
net.core.rmem_max = 8388608
net.core.wmem_max = 8388608
net.core.rmem_default = 65536
net.core.wmem_default = 65536
#tcp socket buffers, minimum 4096K, initial 87K and max 8 MB
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 65536 8388608
net.ipv4.tcp_mem = 8388608 8388608 8388608
Bear in mind that tcp_wmem overried net.core.wmem_default, in my case both are 65K.
Also, enable the tcp window scale
net.ipv4.tcp_window_scaling = 1
In my debian I have this file loading the settings on boot time:
$ cat /etc/sysctl.d/20-TCP-Tuning.conf
#FIN timeout to 20 secTo hot load these settings we can use sudo sysctl -p /etc/sysctl.d/20-TCP-Tuning.conf
net.ipv4.tcp_fin_timeout = 20
# 8MB for core mem max, default 65K
net.core.rmem_max = 8388608
net.core.wmem_max = 8388608
net.core.rmem_default = 65536
net.core.wmem_default = 65536
#tcp sucket buffers, minimum 4096K, initial 87K and max 8 MB
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 65536 8388608
net.ipv4.tcp_mem = 8388608 8388608 8388608
#Enable TCP window scaling
net.ipv4.tcp_window_scaling = 1
No comments:
Post a Comment