public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Daniel Havey <dhavey@gmail.com>
To: cygwin@cygwin.com
Subject: Cygwin TCP slow
Date: Tue, 29 Nov 2016 01:25:00 -0000	[thread overview]
Message-ID: <CAO1c0AT52ZzCKc3yD_7eX6ri4VubrTb5L+X-4vHWoXBAX2jsfw@mail.gmail.com> (raw)

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

             reply	other threads:[~2016-11-28 19:54 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-29  1:25 Daniel Havey [this message]
2016-11-29  5:56 ` Brian Inglis
2016-11-30  9:16   ` Daniel Havey
2016-11-30 10:09     ` Sam Habiel
2016-11-30 10:44       ` Brian Inglis
2016-11-30 16:00         ` Lee
     [not found]         ` <CAD8GWss1zb1J7m3Knf1TGuAPcVKQVNFXgt2uX02o_Z08ZOfEOw@mail.gmail.com>
2016-12-02 20:29           ` Daniel Havey
2016-12-02 22:37             ` Brian Inglis
2017-01-04 21:33               ` Daniel Havey
2016-12-02 23:08             ` Mark Geisert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAO1c0AT52ZzCKc3yD_7eX6ri4VubrTb5L+X-4vHWoXBAX2jsfw@mail.gmail.com \
    --to=dhavey@gmail.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).