All of lore.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: 45+ 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-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-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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.