Pipeline hinting revisited

Brian Pane <brianp@brianp.net> Thu, 11 August 2011 22:13 UTC

Return-Path: <ietf-http-wg-request@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 340F821F8B0E for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 11 Aug 2011 15:13:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.977
X-Spam-Level:
X-Spam-Status: No, score=-9.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nBfuNvdGfx5z for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 11 Aug 2011 15:13:53 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 9DCB421F8AE1 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 11 Aug 2011 15:13:46 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.69) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1QrdVC-0006cm-2E for ietf-http-wg-dist@listhub.w3.org; Thu, 11 Aug 2011 22:13:22 +0000
Received: from aji.keio.w3.org ([133.27.228.206]) by frink.w3.org with esmtp (Exim 4.69) (envelope-from <brianp@brianp.net>) id 1QrdUy-0006bO-53 for ietf-http-wg@listhub.w3.org; Thu, 11 Aug 2011 22:13:08 +0000
Received: from mail-vx0-f171.google.com ([209.85.220.171]) by aji.keio.w3.org with esmtp (Exim 4.72) (envelope-from <brianp@brianp.net>) id 1QrdUt-0007ms-K9 for ietf-http-wg@w3.org; Thu, 11 Aug 2011 22:13:07 +0000
Received: by vxh13 with SMTP id 13so2581836vxh.2 for <ietf-http-wg@w3.org>; Thu, 11 Aug 2011 15:12:31 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.52.28.233 with SMTP id e9mr143205vdh.266.1313100751205; Thu, 11 Aug 2011 15:12:31 -0700 (PDT)
Received: by 10.220.192.6 with HTTP; Thu, 11 Aug 2011 15:12:31 -0700 (PDT)
X-Originating-IP: [216.243.35.32]
Date: Thu, 11 Aug 2011 15:12:31 -0700
Message-ID: <CAAbTgTu2px+o=mFyEOuSW8KzHR-o5GeN9b6X-Q+VuRtQP=A0Qw@mail.gmail.com>
From: Brian Pane <brianp@brianp.net>
To: ietf-http-wg@w3.org
Content-Type: text/plain; charset="ISO-8859-1"
Received-SPF: none client-ip=209.85.220.171; envelope-from=brianp@brianp.net; helo=mail-vx0-f171.google.com
X-W3C-Hub-Spam-Status: No, score=-2.6
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7
X-W3C-Scan-Sig: aji.keio.w3.org 1QrdUt-0007ms-K9 a28f997d06ba707d2aaf3910ca69f90c
X-Original-To: ietf-http-wg@w3.org
Subject: Pipeline hinting revisited
Archived-At: <http://www.w3.org/mid/CAAbTgTu2px+o=mFyEOuSW8KzHR-o5GeN9b6X-Q+VuRtQP=A0Qw@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/11187
X-Loop: ietf-http-wg@w3.org
Sender: ietf-http-wg-request@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>
Resent-Message-Id: <E1QrdVC-0006cm-2E@frink.w3.org>
Resent-Date: Thu, 11 Aug 2011 22:13:22 +0000

I've been thinking some more about request pipelining recently,
triggered by several observations:

- A significant number of real-world websites could be made faster via
widespread adoption of request pipelining (based on my study of
~15,000 sites in the httparchive.org corpus).
- A nontrivial fraction of mobile browsers are using pipelining
already, albeit not as aggressively as they could (based on Blaze's
study: http://www.blaze.io/mobile/http-pipelining-big-in-mobile/ )
- Client implementations that currently pipeline their requests are
using heuristics of varying complexity to try to decide when
pipelining is safe.  The list of conditions documented here is at the
complex end of the spectrum, and it's perhaps still incomplete:
https://bugzilla.mozilla.org/show_bug.cgi?id=599164

The key question, I think, is whether heuristics implemented on the
client side will end up being sufficient to detect safe opportunities
for pipelining.  If not, a server-driven hinting mechanism of the sort
proposed in Mark's "making pipelining usable" draft (
http://tools.ietf.org/html/draft-nottingham-http-pipeline-01 ) seems
necessary.

Anybody have additional experimental data on pipelining (including the
effectiveness of heuristics for turning pipelining on or off) that
they can share?

Thanks,
-Brian