On 2016-11-28 12:54, Daniel Havey wrote: > 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.
See problem reports: http://cygwin.com/problems.html Provide STC, patches, attach cygcheck -svr output? Links to downstream bug reports, testing, results? Note that Cygwin iperf is year old 2.0.5. -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada -- 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