Rev | Author | # | Line |
---|---|---|---|
1 | IanMcDonald | 1 | [TCP] can be tuned quite a bit as the defaults don't always work well on things like high speed networks. |
2 | |||
3 | There are plenty of resources out on the web giving tuning advice: | ||
4 | * This one is pretty good and up to date: http://www-didc.lbl.gov/TCP-tuning/linux.html | ||
5 | * This one is OK but some parts are wrong for newer kernels: http://www-128.ibm.com/developerworks/linux/library/l-hisock.html?ca=dgr-lnxw01BoostSocket | ||
6 | |||
2 | IanMcDonald | 7 | The main thing for end nodes is that your TcpWindow needs to be bigger than the sum of your BandwidthDelayProduct. |
8 | |||
9 | Your speed is limited by the size of your packets (check your [MSS]), the loss rate, the [RTT] and how you use Delayed Acks. For an online calculator see: http://wand.net.nz/~perry/max_download.php | ||
3 | BrendonJones | 10 | |
11 | More modern versions of the Linux kernel (since 2.4.17/2.6.7?) have [full autotuning|http://www.psc.edu/networking/projects/tcptune/#Linux] which should take care of most of this for you. If your kernel supports autotuning and it is enabled then | ||
12 | |||
13 | cat /proc/sys/net/ipv4/tcp_moderate_rcvbuf | ||
14 | |||
15 | should show the value 1. If you manually adjust buffer sizes in your program with [setsockopt(2)] then autotuning will be disabled for that connection (not recommended). |
lib/blame.php:177: Warning: Invalid argument supplied for foreach()