Tune windows for high latency/high bandwidth tcp transfers
Solution 1:
Formula to calculate optimal TCP window size (source):
Bandwidth-in-bits-per-second * Round-trip-latency-in-seconds = TCP window size in bits / 8 = TCP window size in bytes
In your case: 100 000 000 * .088 = 8 800 000 bits or 1 100 000 bytes
This is configurable in the Windows registry in the TcpWindowSize key in a valid range of 0–0x3FFFFFFF (1 073 741 823 decimal), so that figure is in the valid range.
The default value is the smallest of the following (Note: "Values greater than 64 KB can be achieved only when connecting to other systems that support RFC 1323 Window Scaling"):
- 0xFFFF
- GlobalMaxTcpWindowSize (another registry parameter)
- The larger of four times the MSS (Maximum Segment Size)
- 16384 rounded up to an even multiple of the MSS
The stack also tunes itself based on the media speed:
- Below 1 Mbps: 8 KB
- 1 Mbps – 100 Mbps: 17 KB
- Greater than 100 Mbps: 64 KB
Source (This link is now mostly dead - slightly alive, but only a miracle could bring it back)
Also see: http://bradhedlund.com/2008/12/19/how-to-calculate-tcp-throughput-for-long-distance-links/
And: https://technet.microsoft.com/en-us/library/cc938219.aspx