TCP-Tuning
TCP Performance
This page describes how to enhance the performance of data transfers. It mainly focus on the optimization of the Linux kernel parameters.
Quattor
The Quattor TCP Tuning guide aims to be a good documentation for helping you tuning your TCP Performance with Quattor.
Kernel tuning
The following parameters are important for TCP tuning:
net.ipv4.tcp_rmemnet.ipv4.tcp_wmemnet.core.rmem_defaultnet.core.wmem_defaultnet.core.rmem_maxnet.core.wmem_maxnet.ipv4.tcp_dsacknet.ipv4.tcp_sacknet.ipv4.tcp_timestampsnet.core.netdev_max_backlog
They can be modified:
- By directly passing the parameter to the sysctl command. This method is useful for testing a parameter, as the modification will not persist after the next reboot.
- By adding the parameter to the
/etc/sysctl.conffile and loading it with the sysctl command. This way is interesting when you want to preserve the modification over a reboot.
The following values are recommended:
net.ipv4.tcp_rmem = 131072 1048576 2097152net.ipv4.tcp_wmem = 131072 1048576 2097152net.core.rmem_default = 1048576net.core.wmem_default = 1048576net.core.rmem_max = 2097152net.core.wmem_max = 2097152net.ipv4.tcp_dsack = 0net.ipv4.tcp_sack = 0net.ipv4.tcp_timestamps = 0net.core.netdev_max_backlog = 10000
External links
- http://fasterdata.es.net/
- http://monalisa.cern.ch/FDT/documentation_syssettings.html
- http://indico.cern.ch/contributionDisplay.py?sessionId=31&contribId=55&confId=61917
- http://www.psc.edu/networking/projects/tcptune/
- http://onlamp.com/pub/a/onlamp/2005/11/17/tcp_tuning.html
- http://en.wikipedia.org/wiki/TCP_tuning