Thread: transfer rate
View Single Post
  #6   (View Single Post)  
Old 23rd January 2009
BSDfan666 BSDfan666 is offline
Real Name: N/A, this is the interweb.
Banned
 
Join Date: Apr 2008
Location: Ontario, Canada
Posts: 2,223
Default

BSD supports TCP window scaling.. increasing the buffer space that high should not be necessary, and may actually have negative effects somewhere down the line.

I'll quote an article I bookmarked that outlines the possible side effects.
Quote:
Originally Posted by http://www.networkcomputing.com/1013/1013ws1.html
When a window is too big, TCP can have difficulties trying to recover from lost data. For example, if a remote Web server sees a window size of 131 KB advertised by your client, then it eventually will try to send that exact amount of data--even if the bandwidth times delay for that connection only enables 4 KB of in-flight data. As a result, the remaining 127 KB would be queued in a router somewhere between the Web server and your client.

If any of that data is lost and retransmitted, the retransmitted data will have to sit in a router queue behind the rest of the data from the earlier transmission, while your system continues to receive (and reject) all the earlier segments. Eventually, the client will simply abort the connection because it will think that the connection cannot be recovered. Alternatively, the continuous stream of duplicate acknowledgements sent by your client back to the remote server may cause the server to abort the connection as well. Having an appropriately sized window would prevent these events from occurring.
If you have problems with the default 16384 window size, try 65536, avoid such unnecessarily large sizes.. as I said, BSD by default can dynamically resize the window if needed.
Reply With Quote