RE: TCP Tuning for HTTP

"Scharf, Michael (Michael)" <michael.scharf@alcatel-lucent.com> Fri, 06 November 2015 17:23 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BB8BA1A9236 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 6 Nov 2015 09:23:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.312
X-Spam-Level:
X-Spam-Status: No, score=-6.312 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_37=0.6, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=unavailable
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KO6LyGq5ok6m for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 6 Nov 2015 09:23:34 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 170591B2C53 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 6 Nov 2015 09:22:29 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1Zukeu-0002ze-QY for ietf-http-wg-dist@listhub.w3.org; Fri, 06 Nov 2015 17:18:40 +0000
Resent-Date: Fri, 06 Nov 2015 17:18:40 +0000
Resent-Message-Id: <E1Zukeu-0002ze-QY@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <michael.scharf@alcatel-lucent.com>) id 1Zukeo-0002yt-RB for ietf-http-wg@listhub.w3.org; Fri, 06 Nov 2015 17:18:34 +0000
Received: from fr-hpida-esg-02.alcatel-lucent.com ([135.245.210.21] helo=smtp-fr.alcatel-lucent.com) by maggie.w3.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from <michael.scharf@alcatel-lucent.com>) id 1Zuken-00048f-4t for ietf-http-wg@w3.org; Fri, 06 Nov 2015 17:18:34 +0000
Received: from fr712usmtp2.zeu.alcatel-lucent.com (unknown [135.239.2.42]) by Websense Email Security Gateway with ESMTPS id 7025856CADE69; Fri, 6 Nov 2015 17:18:00 +0000 (GMT)
Received: from FR711WXCHHUB01.zeu.alcatel-lucent.com (fr711wxchhub01.zeu.alcatel-lucent.com [135.239.2.111]) by fr712usmtp2.zeu.alcatel-lucent.com (GMO) with ESMTP id tA6HHbBk032710 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Fri, 6 Nov 2015 18:17:50 +0100
Received: from FR712WXCHMBA15.zeu.alcatel-lucent.com ([169.254.7.114]) by FR711WXCHHUB01.zeu.alcatel-lucent.com ([135.239.2.111]) with mapi id 14.03.0195.001; Fri, 6 Nov 2015 18:15:42 +0100
From: "Scharf, Michael (Michael)" <michael.scharf@alcatel-lucent.com>
To: Cory Benfield <cory@lukasa.co.uk>, Daniel Stenberg <daniel@haxx.se>, "tcpm@ietf.org Extensions" <tcpm@ietf.org>
CC: HTTP Working Group <ietf-http-wg@w3.org>
Thread-Topic: TCP Tuning for HTTP
Thread-Index: AQHRGH8zEPMvd+b/q0yXA9NOzRbTi56OxJcAgAB2pJA=
Date: Fri, 06 Nov 2015 17:15:42 +0000
Message-ID: <655C07320163294895BBADA28372AF5D485417FE@FR712WXCHMBA15.zeu.alcatel-lucent.com>
References: <alpine.DEB.2.11.1511061128150.19082@tvnag.unkk.fr> <88103DD2-02E7-4265-BC2B-F4526A15FC54@lukasa.co.uk>
In-Reply-To: <88103DD2-02E7-4265-BC2B-F4526A15FC54@lukasa.co.uk>
Accept-Language: de-DE, en-US
Content-Language: de-DE
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [135.239.27.40]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Received-SPF: pass client-ip=135.245.210.21; envelope-from=michael.scharf@alcatel-lucent.com; helo=smtp-fr.alcatel-lucent.com
X-W3C-Hub-Spam-Status: No, score=-7.9
X-W3C-Hub-Spam-Report: AWL=1.005, BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: maggie.w3.org 1Zuken-00048f-4t a8cdc8f5c5903c82295e07d396c54c72
X-Original-To: ietf-http-wg@w3.org
Subject: RE: TCP Tuning for HTTP
Archived-At: <http://www.w3.org/mid/655C07320163294895BBADA28372AF5D485417FE@FR712WXCHMBA15.zeu.alcatel-lucent.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/30450
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

Daniel, all,

I'd suggest to CC the tcpm list when discussing this draft. Basically all major TCP implementers monitor tcpm, and you should find useful expertise there. However, I am not sure whether all tcpm contributors love dancing ;)

Thanks

Michael


> -----Original Message-----
> From: Cory Benfield [mailto:cory@lukasa.co.uk]
> Sent: Friday, November 06, 2015 12:06 PM
> To: Daniel Stenberg
> Cc: HTTP Working Group
> Subject: Re: TCP Tuning for HTTP
> 
> 
> > On 6 Nov 2015, at 10:33, Daniel Stenberg <daniel@haxx.se> wrote:
> >
> > Hi friends!
> >
> > I've just submitted the 00-version of the document "TCP Tuning for
> HTTP"[1] and I will appreciate any and all sorts of feedback and
> additional good advice you can provide. The good ideas we need to tell
> our fellow HTTP implementers on how we poke on the TCP stack to make it
> dance for us.
> >
> > It is still a bit thin and there are some white spots in it. I'm
> counting on some help there! =)
> >
> > [1] = https://www.ietf.org/id/draft-stenberg-httpbis-tcp-00.txt
> 
> Daniel,
> 
> The first draft looks great! This is a really good start. I have a few
> small stylistic changes that I’ll propose as PRs to your repo, but
> wanted to add some more detail for stuff that seems missing or needs
> elaboration.
> 
> 1. net.core.somaxconn
> 
> I did some digging here because I was interested in how this interacted
> with the ‘backlog’ parameter to listen(). It seems that, on Linux,
> net.core.somaxconn represents the maximum value. This means that the
> maximum backlog on a listening socket is min(backlog, somaxconn). It
> would probably help to elaborate this section, but elaborating that
> section probably doesn’t make sense without also talking about the
> backlog argument to listen() itself. I’m willing to submit some text
> for that if you’re interested.
> 
> Your description of somaxconn (“the number of incoming TCP SYNs allowed
> to backlog”) is not actually accurate, I don’t think, because of the
> next section.
> 
> 2. tcp_max_syn_backlog
> 
> You don’t mention the setting related to net.core.somaxconn, which is
> net.ipv4.tcp_max_syn_backlog. somaxconn and the listen backlog on Linux
> apply to acknowledged connections (that is, the handshake is
> completed). tcp_max_syn_backlog applies to connections that have not
> yet been acknowledged by the client. I can’t find a corresponding IPv6
> setting, so we might need to do some more digging here to see if this
> is still used: does anyone else on this list know?
> 
> 3. Separate into client, server, and both optimisations.
> 
> Some of the optimisations and tweaks suggested here only make sense for
> servers (e.g. somaxconn), but some are good for both clients and
> servers. It would be good if we could call this out a bit more.
> 
> Otherwise, I’m really looking forward to seeing this develop!
> 
> Cory
> 
>