This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Cygwin TCP slow

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 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

thanxs ;^)

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]