public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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

  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