This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Cygwin TCP slow
- From: Daniel Havey <dhavey at gmail dot com>
- To: cygwin at cygwin dot com
- Date: Mon, 28 Nov 2016 11:54:27 -0800
- Subject: Cygwin TCP slow
- Authentication-results: sourceware.org; auth=none
Hello,
We have had complaints from several large hardware vendors that
Windows networking is slow for apps like iperf that are used to
measure throughput. Iperf on Windows is compiled against the
cygwin1.dll. We have root caused the problem to a couple of lines of
code in net.cc that set SO_RCVBUF and SO_SNDBUF to about 200KB.
The theoretical window/RTT plot for the buffer size set by Cygwin
(0x34000 = 200KB) gives us:
1ms -> 1703Mbps
2ms -> 851Mbps
3ms -> 567Mbps
4ms -> 425Mbps
5ms -> 340Mbps
6ms -> 283Mbps
7ms -> 243Mbps
8ms -> 212Mbps
9ms -> 189Mbps
10ms -> 170Mbps
20ms -> 85Mbps
40ms -> 42Mbps
60ms -> 28Mbps
80ms -> 21Mbps
We have confirmed this by experiment and also confirmed that the
limitation goes away if the buffers are not manually set. Windows has
autotuning and when the buffers are set manually the autotuning is
disabled. This is causing the throughput limitation. So we would
like to formally ask that you please not manually set SO_RCVBUF or
SO_SNDBUF.
thanxs ;^)
...Daniel
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple