Re: [tcpm] TCP Tuning for HTTP - update

Yuchung Cheng <ycheng@google.com> Thu, 18 August 2016 17:34 UTC

Return-Path: <ycheng@google.com>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 210DF12DA59 for <tcpm@ietfa.amsl.com>; Thu, 18 Aug 2016 10:34:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.247
X-Spam-Level:
X-Spam-Status: No, score=-3.247 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RP_MATCHES_RCVD=-1.247, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
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 01KqztDQ7-Yz for <tcpm@ietfa.amsl.com>; Thu, 18 Aug 2016 10:34:43 -0700 (PDT)
Received: from mail-it0-x229.google.com (mail-it0-x229.google.com [IPv6:2607:f8b0:4001:c0b::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 97BDA12D9B2 for <tcpm@ietf.org>; Thu, 18 Aug 2016 10:34:43 -0700 (PDT)
Received: by mail-it0-x229.google.com with SMTP id e63so4494240ith.1 for <tcpm@ietf.org>; Thu, 18 Aug 2016 10:34:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=+gxCj5K6AaULF+yMhjRz/a7m1kZ6oz8pv7AXHlxXFUc=; b=IFmTgNzoZEd7lDV7X41ZbvzszoykguK4NUB9DabtwXgOdX4X6c9mJeNIbo9KzHV58b KTZN/ZAOsFskcDp5lgdRknc/PZN0AP9Pr34/pvodUZN9me/nHLJ2pQd5jOARo0VBDd4g RkDuA64rDF8zrECb4UlDA1DOQYQR5rCcKLheCKLU2gYqgOBbveqzPkeG3b3NBNlwz+B5 Z5f2dlkEO4aJa0GkZYuwMjWUCsS6eQHcmbxWalUDE935tG4g08tYIiZWJWv8MZIzFUS5 QoJ4npkJNiSx6CllIW2Zdv1gl1h5ykG9iym9VqZ9IKmWHi0alnN6J50leb58oJup7hxY zAsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=+gxCj5K6AaULF+yMhjRz/a7m1kZ6oz8pv7AXHlxXFUc=; b=lvZ/K1J0Adq2CkFBOSXUJ8cY93HTF/hTmtz5SgcZYNq/9kyYnobJs64eOEiQeMgVAJ IamfZAgM4KQxhlQmJ5hTI6879cZw35ylzu/fQ69G58BcRLWTXbkKm2iaT1PQqGyaxQgt 8edArqCrK4tTdDRfDT1r7BVKEvxOFTIn9DDPFkazGi7LxR4q5J/8EPP5pEqAXFfDU7hy X/GcXdpw+AER1zCko8bTOBh9UhFFjA1YJT7Hm7S7LQPASaT1XvEkMleLPNLU9bfnnkMl 0Q/ib092/3u94u7ZxQ97gGnMagC4CNieOMu3zgvxulWrgAeJQ+1JejpP16+xOudd0+kP dBGQ==
X-Gm-Message-State: AEkoous9yi2hjp86ifCcaJjqDkXrNweQX6I+MBaoQ1Xj3FraI75dmxUFLMnDnR7TkB5K1vuXBGJEHfhNcUz/xp5o
X-Received: by 10.36.142.4 with SMTP id h4mr816316ite.65.1471541682658; Thu, 18 Aug 2016 10:34:42 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.64.244.103 with HTTP; Thu, 18 Aug 2016 10:34:01 -0700 (PDT)
In-Reply-To: <61fa7faa-d2a3-e8f3-9497-1f0f93e7b81e@erg.abdn.ac.uk>
References: <0CC24FC1-37E1-4125-9627-05726A9D9406@mnot.net> <655C07320163294895BBADA28372AF5D489E64AF@FR712WXCHMBA15.zeu.alcatel-lucent.com> <61fa7faa-d2a3-e8f3-9497-1f0f93e7b81e@erg.abdn.ac.uk>
From: Yuchung Cheng <ycheng@google.com>
Date: Thu, 18 Aug 2016 10:34:01 -0700
Message-ID: <CAK6E8=eehsO6Br=9N3gJMwcP1-CQKzgfgsy6O=SFniQgVNzvGQ@mail.gmail.com>
To: Gorry Fairhurst <gorry@erg.abdn.ac.uk>
Content-Type: multipart/alternative; boundary="94eb2c04a26c44c108053a5bffc6"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/PZMQzacnj_J7ETJTWxbmZlkQb5U>
Cc: "tcpm@ietf.org" <tcpm@ietf.org>, Mark Nottingham <mnot@mnot.net>, Patrick McManus <pmcmanus@mozilla.com>, Daniel Stenberg <daniel@haxx.se>
Subject: Re: [tcpm] TCP Tuning for HTTP - update
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 Aug 2016 17:34:48 -0000

On Thu, Aug 18, 2016 at 9:54 AM, Gorry Fairhurst <gorry@erg.abdn.ac.uk>
wrote:

> Speaking as someone who commented on an earlier version:
>
> I think it is good to offer advice on how TCP is used for web traffic. I
> can see there is likely useful information that can document how some
> things are done, and perhaps also recommend some changes. I support
> continuing work on this.
>
> Publishing a document like this in the RFC series needs to be consistent
> with IETF consensus. The ID touches on many things that are assigned to
> TCPM. (The breadth of topics may be a good reason for a document - but is
> also a concern, because many things need more clear description before the
> recommendations become clear).
>
> I think this document should NOT be considered as BCP. It talks about
> system configuration of endpoints, and of the recommendations I see, some
> do support current PSs, some set new precedents against current PS RFCs and
> in some cases the present text appears to endorse EXP RFCs. If published as
> a BCP, that sort of advice is likely to be confusing. Such information can
> also easily be outdated, I suggest if adopted, this should be Informational
> and clearly set the scope of the recommendations.
>
+1 on informational

It'd be great for the document to cite more detailed technical reports, for
readers to learn the pros and cons, and the history. IMO it'd significantly
improve this document. The reason is that TCP and network will continue to
evolve, so knowing the past and details can help readers to judge whether a
specific recommendation is still useful or not, if he is willing to spend
time to explore. For example, he can use some online tools to track the
citation of these reports and see new reports.

For the document, I'd recommend two more items that my personal experience
gives remarkable performance enhancement on reducing and recover from
losses.

1) make sure your stack supports SACK
2) enable pacing.

On disabling Nagle, there are also better APIs like Linux Cork so you don't
have to send small packets even on continuous writes. One common problem I
often see is developers unconditionally disable Nagle, but their HTTP
workload may lead to lots of small packets.

my 2c


> If this work continues, it needs to be reviewed by TCPM and HTTPbis. This
> would need much more than simply a last-call in both working groups - but
> I'm sure with proper coordination progress could be made so that there were
> no surprises for either group at the time of WGLC!
>
> Gorry
>
>
>
>
>> -----Original Message-----
>> From: tcpm [mailto:tcpm-bounces@ietf.org] On Behalf Of Mark Nottingham
>> Sent: Wednesday, August 17, 2016 4:03 AM
>> To: tcpm@ietf.org
>> Cc: Patrick McManus; Daniel Stenberg
>> Subject: [tcpm] TCP Tuning for HTTP - update
>>
>> Hi TCPM,
>>
>> Just a quick note; Daniel and Tim have made an update to the TCP Tuning
>> for HTTP draft:
>>   https://tools.ietf.org/html/draft-stenberg-httpbis-tcp
>>
>> We've had a Call for Adoption open for this draft for a while, and will
>> likely adopt it soon. However, we'd like to get feedback from this
>> community first -- both about the latest version of the input document, and
>> to see if there's interest in helping out.
>>
>> You can give feedback on the HTTP WG mailing list <
>> https://lists.w3.org/Archives/Public/ietf-http-wg/>, or  by responding
>> to this e-mail (Please leave the CC line; Patrick and I will try to
>> summarise the feedback to the WG).
>>
>> Cheers,
>>
>> --
>> Mark Nottingham   https://www.mnot.net/
>>
>>
>>
>>
>> _______________________________________________
>> tcpm mailing list
>> tcpm@ietf.org
>> https://www.ietf.org/mailman/listinfo/tcpm
>>
>> _______________________________________________
>> tcpm mailing list
>> tcpm@ietf.org
>> https://www.ietf.org/mailman/listinfo/tcpm
>>
>>
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm
>