Home
Main website
Display Sidebar
Hide Ads
Recent Changes
View Source:
TcpTuning
Edit
PageHistory
Diff
Info
LikePages
[TCP] can be tuned quite a bit as the defaults don't always work well on things like high speed networks. There are plenty of resources out on the web giving tuning advice: * This one is pretty good and up to date: http://www-didc.lbl.gov/TCP-tuning/linux.html * 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 The main thing for end nodes is that your TcpWindow needs to be bigger than the sum of your BandwidthDelayProduct. 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 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 cat /proc/sys/net/ipv4/tcp_moderate_rcvbuf 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).
2 pages link to
TcpTuning
:
TCP
BandwidthDelayProduct