From: Bill Fink <billfink@mindspring.com>
To: David Miller <davem@davemloft.net>
Cc: davidsen@tmr.com, lists@wildgooses.com,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: Raise initial congestion window size / speedup slow start?
Date: Wed, 14 Jul 2010 22:52:40 -0400 [thread overview]
Message-ID: <20100714225240.e1bf8679.billfink@mindspring.com> (raw)
In-Reply-To: <20100714.111553.104052157.davem@davemloft.net>
On Wed, 14 Jul 2010, David Miller wrote:
> From: Bill Davidsen <davidsen@tmr.com>
> Date: Wed, 14 Jul 2010 11:21:15 -0400
>
> > You may have to go into /proc/sys/net/core and crank up the
> > rmem_* settings, depending on your distribution.
>
> You should never, ever, have to touch the various networking sysctl
> values to get good performance in any normal setup. If you do, it's a
> bug, report it so we can fix it.
>
> I cringe every time someone says to do this, so please do me a favor
> and don't spread this further. :-)
>
> For one thing, TCP dynamically adjusts the socket buffer sizes based
> upon the behavior of traffic on the connection.
>
> And the TCP memory limit sysctls (not the core socket ones) are sized
> based upon available memory. They are there to protect you from
> situations such as having so much memory dedicated to socket buffers
> that there is none left to do other things effectively. It's a
> protective limit, rather than a setting meant to increase or improve
> performance. So like the others, leave these alone too.
What's normal? :-)
netem1% cat /proc/version
Linux version 2.6.30.10-105.2.23.fc11.x86_64 (mockbuild@x86-01.phx2.fedoraproject.org) (gcc version 4.4.1 20090725 (Red Hat 4.4.1-2) (GCC) ) #1 SMP Thu Feb 11 07:06:34 UTC 2010
Linux TCP autotuning across an 80 ms RTT cross country network path:
netem1% nuttcp -T10 -i1 192.168.1.18
14.1875 MB / 1.00 sec = 119.0115 Mbps 0 retrans
558.0000 MB / 1.00 sec = 4680.7169 Mbps 0 retrans
872.8750 MB / 1.00 sec = 7322.3527 Mbps 0 retrans
869.6875 MB / 1.00 sec = 7295.5478 Mbps 0 retrans
858.4375 MB / 1.00 sec = 7201.0165 Mbps 0 retrans
857.3750 MB / 1.00 sec = 7192.2116 Mbps 0 retrans
865.5625 MB / 1.00 sec = 7260.7193 Mbps 0 retrans
872.3750 MB / 1.00 sec = 7318.2095 Mbps 0 retrans
862.7500 MB / 1.00 sec = 7237.2571 Mbps 0 retrans
857.6250 MB / 1.00 sec = 7194.1864 Mbps 0 retrans
7504.2771 MB / 10.09 sec = 6236.5068 Mbps 11 %TX 25 %RX 0 retrans 80.59 msRTT
Manually specified 100 MB TCP socket buffer on the same path:
netem1% nuttcp -T10 -i1 -w100m 192.168.1.18
106.8125 MB / 1.00 sec = 895.9598 Mbps 0 retrans
1092.0625 MB / 1.00 sec = 9160.3254 Mbps 0 retrans
1111.2500 MB / 1.00 sec = 9322.6424 Mbps 0 retrans
1115.4375 MB / 1.00 sec = 9356.2569 Mbps 0 retrans
1116.4375 MB / 1.00 sec = 9365.6937 Mbps 0 retrans
1115.3125 MB / 1.00 sec = 9356.2749 Mbps 0 retrans
1121.2500 MB / 1.00 sec = 9405.6233 Mbps 0 retrans
1125.5625 MB / 1.00 sec = 9441.6949 Mbps 0 retrans
1130.0000 MB / 1.00 sec = 9478.7479 Mbps 0 retrans
1139.0625 MB / 1.00 sec = 9555.8559 Mbps 0 retrans
10258.5120 MB / 10.20 sec = 8440.3558 Mbps 15 %TX 40 %RX 0 retrans 80.59 msRTT
The manually selected TCP socket buffer size both ramps up
quicker and achieves a much higher steady state rate.
-Bill
next prev parent reply other threads:[~2010-07-15 2:52 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-14 10:43 Raise initial congestion window size / speedup slow start? Ed W
2010-07-14 11:58 ` Alan Cox
2010-07-14 15:21 ` Bill Davidsen
2010-07-14 18:15 ` David Miller
2010-07-14 18:48 ` Ed W
2010-07-14 19:10 ` Stephen Hemminger
2010-07-14 21:47 ` Mitchell Erblich
2010-07-14 20:17 ` Rick Jones
2010-07-14 20:39 ` Hagen Paul Pfeifer
2010-07-14 21:55 ` David Miller
2010-07-14 22:13 ` Hagen Paul Pfeifer
2010-07-14 22:19 ` Rick Jones
2010-07-14 22:40 ` Hagen Paul Pfeifer
2010-07-14 22:52 ` Ed W
2010-07-14 23:01 ` Hagen Paul Pfeifer
2010-07-14 23:05 ` Ed W
2010-07-15 3:49 ` Bill Fink
2010-07-15 5:29 ` H.K. Jerry Chu
2010-07-15 19:51 ` Rick Jones
2010-07-15 20:48 ` Stephen Hemminger
2010-07-16 0:23 ` H.K. Jerry Chu
2010-07-16 9:03 ` Hagen Paul Pfeifer
2010-07-15 10:33 ` Alan Cox
2010-07-14 22:05 ` Ed W
2010-07-14 22:36 ` Hagen Paul Pfeifer
2010-07-14 23:01 ` Ed W
2010-07-15 4:12 ` Tom Herbert
2010-07-15 7:48 ` Ed W
2010-07-15 17:36 ` Jerry Chu
2010-07-15 5:09 ` H.K. Jerry Chu
2010-07-15 2:52 ` Bill Fink [this message]
2010-07-15 4:51 ` H.K. Jerry Chu
2010-07-16 17:01 ` Patrick McManus
2010-07-16 17:41 ` Ed W
2010-07-17 1:23 ` H.K. Jerry Chu
2010-07-17 0:36 ` H.K. Jerry Chu
2010-07-19 17:08 ` Rick Jones
2010-07-19 22:51 ` H.K. Jerry Chu
2010-07-19 23:42 ` Hagen Paul Pfeifer
2010-07-15 23:14 ` Bill Davidsen
2010-07-14 18:32 ` Ed W
2010-07-15 15:10 ` Bill Davidsen
2010-07-16 2:58 ` Henrique de Moraes Holschuh
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=20100714225240.e1bf8679.billfink@mindspring.com \
--to=billfink@mindspring.com \
--cc=davem@davemloft.net \
--cc=davidsen@tmr.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lists@wildgooses.com \
--cc=netdev@vger.kernel.org \
/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