| 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()