Re: Call for Adoption: TCP Tuning for HTTP

Willy Tarreau <w@1wt.eu> Wed, 02 March 2016 07:00 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 0184B1A1BC6 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 1 Mar 2016 23:00:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.908
X-Spam-Level:
X-Spam-Status: No, score=-6.908 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.006, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 HFuKUXo2KWRY for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 1 Mar 2016 23:00:45 -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 CDE151A1BC8 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 1 Mar 2016 23:00:45 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1ab0hE-00041K-KB for ietf-http-wg-dist@listhub.w3.org; Wed, 02 Mar 2016 06:55:44 +0000
Resent-Date: Wed, 02 Mar 2016 06:55:44 +0000
Resent-Message-Id: <E1ab0hE-00041K-KB@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <w@1wt.eu>) id 1ab0h9-00040d-SK for ietf-http-wg@listhub.w3.org; Wed, 02 Mar 2016 06:55:39 +0000
Received: from wtarreau.pck.nerim.net ([62.212.114.60] helo=1wt.eu) by lisa.w3.org with esmtp (Exim 4.80) (envelope-from <w@1wt.eu>) id 1ab0h7-0003oT-7s for ietf-http-wg@w3.org; Wed, 02 Mar 2016 06:55:39 +0000
Received: (from willy@localhost) by pcw.home.local (8.14.3/8.14.3/Submit) id u226t9wQ018055; Wed, 2 Mar 2016 07:55:09 +0100
Date: Wed, 02 Mar 2016 07:55:09 +0100
From: Willy Tarreau <w@1wt.eu>
To: Mark Nottingham <mnot@mnot.net>
Cc: HTTP WG <ietf-http-wg@w3.org>, amankin@verisign.com, Daniel Stenberg <daniel@haxx.se>
Message-ID: <20160302065509.GA18047@1wt.eu>
References: <1C279539-57D5-4624-A80A-0344565872DF@mnot.net>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <1C279539-57D5-4624-A80A-0344565872DF@mnot.net>
User-Agent: Mutt/1.4.2.3i
Received-SPF: pass client-ip=62.212.114.60; envelope-from=w@1wt.eu; helo=1wt.eu
X-W3C-Hub-Spam-Status: No, score=-7.0
X-W3C-Hub-Spam-Report: AWL=0.926, BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: lisa.w3.org 1ab0h7-0003oT-7s fe8f1f54ece9033c5997022ec56581bc
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Call for Adoption: TCP Tuning for HTTP
Archived-At: <http://www.w3.org/mid/20160302065509.GA18047@1wt.eu>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/31140
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>

Hi Mark,

On Wed, Mar 02, 2016 at 04:46:30PM +1100, Mark Nottingham wrote:
> [ copying Alison as our Transport Tech Advisor ]
> 
> Daniel has kindly started a document about how HTTP uses TCP, both for /1 and /2:
>   <https://tools.ietf.org/html/draft-stenberg-httpbis-tcp>
> 
> We haven't explicitly discussed this at a meeting, but I have heard interest in this topic from a variety of folks.
> 
> What do people think about adopting this with a target of Best Current Practice?

I definitely support this. Ideally it would evolve in the direction of
explaining a few shortcomings of TCP when used for HTTP and even suggest
a few implementation hints to prevent newcomers from falling into well
known traps (eg: avoid closing on the client first, or disable lingering
before closing to save the host from ending up with tons of time_wait
sockets that prevent new outgoing connections from being initiated).

I suspect we'll come to a point where people disagree on some settings,
which will be good since tuning is always a tradeoff. It means there
could be proposals for various use cases and their side effects.

I hope that ultimately this document could be referenced in future HTTP
specs so that we don't have to choose between explaining TCP out of
context and dropping the important explanations of some expected trouble.

Best regards,
Willy