Difference between revisions of "TCP-Tuning"

Un article de lcgwiki.
Jump to: navigation, search
(TCP Performance)
Ligne 4: Ligne 4:
  
 
== Quattor ==
 
== Quattor ==
The [http://lcg.in2p3.fr/wiki/index.php/Image:Quattor_tcp_tuning.pdf Quattor TCP Tuning] guide aims to be a good documentation for helping you tuning your TCP Performance with Quattor.
 
  
== Kernel parameters ==
+
The [http://lcg.in2p3.fr/wiki/images/Quattor_tcp_tuning.pdf Quattor TCP Tuning guide] aims to be a good documentation for helping you tuning your TCP Performance with Quattor.
  
The following are important for TCP tuning:
+
 
 +
== Kernel tuning ==
 +
 
 +
The following parameters are important for TCP tuning:
 
* <code>net.ipv4.tcp_rmem</code>
 
* <code>net.ipv4.tcp_rmem</code>
 
* <code>net.ipv4.tcp_wmem</code>
 
* <code>net.ipv4.tcp_wmem</code>
Ligne 20: Ligne 22:
 
* <code>net.core.netdev_max_backlog</code>
 
* <code>net.core.netdev_max_backlog</code>
  
They can be modified with:
+
They can be modified:
* Quattor ;
+
* 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.
* YAIM ;
+
* By adding the parameter to the <code>/etc/sysctl.conf</code> file and loading it with the '''sysctl''' command. This way is interesting when you want to preserve the modification over a reboot.
* Manually by modifying the <code>/etc/sysctl.conf</code> file.
 
 
 
 
 
== Recommended values ==
 
  
 +
The following values are recommended:
 
* <code>net.ipv4.tcp_rmem = 131072 1048576 2097152</code>
 
* <code>net.ipv4.tcp_rmem = 131072 1048576 2097152</code>
 
* <code>net.ipv4.tcp_wmem = 131072 1048576 2097152</code>
 
* <code>net.ipv4.tcp_wmem = 131072 1048576 2097152</code>
Ligne 41: Ligne 40:
  
 
== External links ==
 
== External links ==
 +
 
* http://fasterdata.es.net/
 
* http://fasterdata.es.net/
 
* http://monalisa.cern.ch/FDT/documentation_syssettings.html
 
* http://monalisa.cern.ch/FDT/documentation_syssettings.html

Version du 15:37, 8 avril 2010

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_rmem
  • net.ipv4.tcp_wmem
  • net.core.rmem_default
  • net.core.wmem_default
  • net.core.rmem_max
  • net.core.wmem_max
  • net.ipv4.tcp_dsack
  • net.ipv4.tcp_sack
  • net.ipv4.tcp_timestamps
  • net.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.conf file 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 2097152
  • net.ipv4.tcp_wmem = 131072 1048576 2097152
  • net.core.rmem_default = 1048576
  • net.core.wmem_default = 1048576
  • net.core.rmem_max = 2097152
  • net.core.wmem_max = 2097152
  • net.ipv4.tcp_dsack = 0
  • net.ipv4.tcp_sack = 0
  • net.ipv4.tcp_timestamps = 0
  • net.core.netdev_max_backlog = 10000


External links