Re: [tcpm] TCP Tuning for HTTP - update

Joe Touch <touch@isi.edu> Thu, 18 August 2016 00:27 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 (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5D9F612D0C0 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 17 Aug 2016 17:27:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.167
X-Spam-Level:
X-Spam-Status: No, score=-8.167 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.247, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
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 Ygd1268HNedb for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 17 Aug 2016 17:27:38 -0700 (PDT)
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 6DCDC12B03F for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 17 Aug 2016 17:27:38 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1baB7Y-0001FN-Kt for ietf-http-wg-dist@listhub.w3.org; Thu, 18 Aug 2016 00:23:44 +0000
Resent-Date: Thu, 18 Aug 2016 00:23:44 +0000
Resent-Message-Id: <E1baB7Y-0001FN-Kt@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 <touch@isi.edu>) id 1baB7S-0001EF-8H for ietf-http-wg@listhub.w3.org; Thu, 18 Aug 2016 00:23:38 +0000
Received: from boreas.isi.edu ([128.9.160.161]) by maggie.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA256:128) (Exim 4.80) (envelope-from <touch@isi.edu>) id 1baB7M-0004fK-Ho for ietf-http-wg@w3.org; Thu, 18 Aug 2016 00:23:34 +0000
Received: from [192.168.1.189] (cpe-172-250-251-17.socal.res.rr.com [172.250.251.17]) (authenticated bits=0) by boreas.isi.edu (8.13.8/8.13.8) with ESMTP id u7I0LNGJ015083 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Wed, 17 Aug 2016 17:21:24 -0700 (PDT)
To: Matthew Kerwin <matthew@kerwin.net.au>
References: <0CC24FC1-37E1-4125-9627-05726A9D9406@mnot.net> <7fa95741-ac58-3183-1b92-238bd4b4dae6@isi.edu> <5CD67877-19E3-4E79-BBF2-3E270343A378@mnot.net> <2197232f-10d7-28cb-fcc9-05bd495e3c22@isi.edu> <20160817064545.GD16017@1wt.eu> <7f7b129c-f156-d067-bef8-4a2213f461ac@isi.edu> <20160817180802.GA16773@1wt.eu> <4ab7c5b0-3722-1346-f481-a8d76de70034@isi.edu> <20160817211317.GA16929@1wt.eu> <c928d1ca-fc89-d0b0-4e1a-8a0bd960d2bb@isi.edu> <CACweHNC1qFH5DMnZRE87bAE5sk_P+1z1Fzm-9YEu=E2DULkaYQ@mail.gmail.com>
Cc: Willy Tarreau <w@1wt.eu>, Mark Nottingham <mnot@mnot.net>, tcpm@ietf.org, HTTP Working Group <ietf-http-wg@w3.org>, Patrick McManus <pmcmanus@mozilla.com>, Daniel Stenberg <daniel@haxx.se>
From: Joe Touch <touch@isi.edu>
Message-ID: <27b58b64-48cd-39af-78b3-ef583c585fa6@isi.edu>
Date: Wed, 17 Aug 2016 17:21:21 -0700
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0
MIME-Version: 1.0
In-Reply-To: <CACweHNC1qFH5DMnZRE87bAE5sk_P+1z1Fzm-9YEu=E2DULkaYQ@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------F10D1AF5F07272054D777B16"
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Received-SPF: none client-ip=128.9.160.161; envelope-from=touch@isi.edu; helo=boreas.isi.edu
X-W3C-Hub-Spam-Status: No, score=-8.4
X-W3C-Hub-Spam-Report: AWL=1.009, BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.548, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: maggie.w3.org 1baB7M-0004fK-Ho 1c26841a759417762118fc0ac407bc64
X-Original-To: ietf-http-wg@w3.org
Subject: Re: [tcpm] TCP Tuning for HTTP - update
Archived-At: <http://www.w3.org/mid/27b58b64-48cd-39af-78b3-ef583c585fa6@isi.edu>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/32299
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>

Popping up to the key point...

On 8/17/2016 4:35 PM, Matthew Kerwin wrote:
> Hi folks, I'm stepping in here on just a couple of points. I'll snip
> the bits I can't or won't talk to.
...
> Where we come from, how we find information to solve our problems, the
> way we view the IETF and its RFCs are all different. If this argument
> is just that this stuff doesn't belong in an RFC, that's a cultural
> issue and not one I think we can resolve in this one technical working
> group.

IMO, RFCs deal with *protocols* and protocol deployment issues.

Here that would mean for HTTP in specific
    - turn Nagle off
    - watch out for ACK compression effects (turn it off in favor of ABC
if you can)
    - deal with slow-start restart (there are a variety of approaches here)

You also want to be generally efficient with TCP, which isn't related to
HTTP but still good advice for all apps:
    - be generally efficient and robust (use SACK, ECN, good window
scaling, etc.)
    - watch out for resource overloads (use SYN cookies/fast open,
time-wait buildup, etc.)

That advice is useful for all TCP for transactions, too.

Here's what it definitely does not mean:
    - setting socket buffer sizes (that's an OS-ism, and may be useful
for app designers to know, but isn''t directly part of TCP or HTTP)
    - running an efficient server for small connections (that's a pure
implementation performance issue, and depends on OS support for things
like threads, process/thread pools, etc.)
 
I.e., OS-specific issues in running servers are not in scope IMO.

Keep in mind who reads RFCs - mostly protocol people. Managers take
training courses to get certification, and that's where they learn their
operational issues.

Joe