All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <shemminger@vyatta.com>
To: Ed W <lists@wildgooses.com>
Cc: David Miller <davem@davemloft.net>,
	davidsen@tmr.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 12:10:40 -0700	[thread overview]
Message-ID: <20100714121040.4a674511@nehalam> (raw)
In-Reply-To: <4C3E0684.5060409@wildgooses.com>

On Wed, 14 Jul 2010 19:48:36 +0100
Ed W <lists@wildgooses.com> wrote:

> On 14/07/2010 19:15, 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.
> >    
> 
> Just checking the basics here because I don't think this is a bug so 
> much as a, less common installation that differs from the "normal" case.
> 
> - When we create a tcp connection we always start with tcp slow start
> - This sets the congestion window to effectively 4 packets?
> - This applies in both directions?
> - Remote sender responds to my hypothetical http request with the first 
> 4 packets of data
> - We need to wait one RTT for the ack to come back and now we can send 
> the next 8 packets,
> - Wait for the next ack and at 16 packets we are now moving at a 
> sensible fraction of the bandwidth delay product?
> 
> So just to be clear:
> - We don't seem to have any user-space tuning knobs to influence this 
> right now?
> - In this age of short attention spans, a couple of extra seconds 
> between clicking something and it responding is worth optimising (IMHO)
> - I think I need to take this to netdev, but anyone else with any ideas 
> happy to hear them?
> 
> Thanks
> 
> Ed W

TCP slow start is required by the RFC. It is there to prevent a TCP congestion
collapse. The HTTP problem is exacerbated by things beyond the user's control:
  1. stupid server software that dribbles out data and doesn't used the full
    payload of the packets
  2. web pages with data from multiple sources (ads especially), each of which
    requires a new connection
  3. pages with huge graphics.

Most of this is because of sites that haven't figured out that somebody on a phone
across the globl might not have the same RTT and bandwidth that the developer on a
local network that created them.  Changing the initial cwnd isn't going to fix it.

  reply	other threads:[~2010-07-14 19:10 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 [this message]
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
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=20100714121040.4a674511@nehalam \
    --to=shemminger@vyatta.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.