Re: Choosing a header compression algorithm

Mark Nottingham <mnot@mnot.net> Mon, 25 March 2013 05:57 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 5105321F8E8E for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 24 Mar 2013 22:57:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8
X-Spam-Level:
X-Spam-Status: No, score=-8 tagged_above=-999 required=5 tests=[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 4EFJ4TwV91GC for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 24 Mar 2013 22:57:18 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id AC57921F8E87 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sun, 24 Mar 2013 22:57:18 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UK0OH-0004RZ-TQ for ietf-http-wg-dist@listhub.w3.org; Mon, 25 Mar 2013 05:56:17 +0000
Resent-Date: Mon, 25 Mar 2013 05:56:17 +0000
Resent-Message-Id: <E1UK0OH-0004RZ-TQ@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <mnot@mnot.net>) id 1UK0O5-0004OP-CV for ietf-http-wg@listhub.w3.org; Mon, 25 Mar 2013 05:56:05 +0000
Received: from mxout-08.mxes.net ([216.86.168.183]) by maggie.w3.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from <mnot@mnot.net>) id 1UK0O4-00059a-Kr for ietf-http-wg@w3.org; Mon, 25 Mar 2013 05:56:05 +0000
Received: from mnot-mini.mnot.net (unknown [118.209.42.8]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTPSA id 420BC509B5; Mon, 25 Mar 2013 01:55:41 -0400 (EDT)
Content-Type: text/plain; charset="iso-8859-1"
Mime-Version: 1.0 (Mac OS X Mail 6.3 \(1503\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <6C71876BDCCD01488E70A2399529D5E5163F3D72@ADELE.crf.canon.fr>
Date: Mon, 25 Mar 2013 16:55:36 +1100
Cc: Roberto Peon <grmocg@gmail.com>, "ietf-http-wg@w3.org Group" <ietf-http-wg@w3.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <7CA7F3EB-A492-471A-8AC4-23293DD10840@mnot.net>
References: <254AABEE-22B9-418E-81B0-2729902C4413@mnot.net> <A14105FB-ED1A-4B70-8840-9648847BCC3A@mnot.net> <6C71876BDCCD01488E70A2399529D5E5163F3C67@ADELE.crf.canon.fr> <CAP+FsNfFohSwrX2DxthNcnn+wDj6T5W7xpcg4yA56Gvt_nP3_Q@mail.gmail.com> <6C71876BDCCD01488E70A2399529D5E5163F3D72@ADELE.crf.canon.fr>
To: RUELLAN Herve <Herve.Ruellan@crf.canon.fr>
X-Mailer: Apple Mail (2.1503)
Received-SPF: pass client-ip=216.86.168.183; envelope-from=mnot@mnot.net; helo=mxout-08.mxes.net
X-W3C-Hub-Spam-Status: No, score=-3.4
X-W3C-Hub-Spam-Report: AWL=-3.348, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1UK0O4-00059a-Kr 0c0775f2eededb59d1931dd247b7644c
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Choosing a header compression algorithm
Archived-At: <http://www.w3.org/mid/7CA7F3EB-A492-471A-8AC4-23293DD10840@mnot.net>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/17126
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>

On 23/03/2013, at 5:04 AM, RUELLAN Herve <Herve.Ruellan@crf.canon.fr> wrote:

> I think it would be good to move this from the compressors to the streamifier. In addition, it would be interesting to look at a more realistic streamifier that could for example unshard hosts (expecting that HTTP/2.0 will remove the sharding currently done by server developers).

Right now, it combines all requests to the same TLD (according to the Public Suffix List) into a single "connection." Do you have a suggestion for how to do it better?

I've just pushed a quick and dirty fix to use a new instance of each compressor for each connection; the results are pretty even between headerdiff and delta2, with a small increase in each:

* TOTAL: 5948 req messages
                                       size  time | ratio min   max   std
                        http1     3,460,925  0.18 | 1.00  1.00  1.00  0.00
  delta2 (max_byte_size=4096)       707,901 11.87 | 0.20  0.03  0.83  0.15
     headerdiff (buffer=4096)       960,106  1.65 | 0.28  0.01  0.96  0.23

* TOTAL: 5948 res messages
                                       size  time | ratio min   max   std
                        http1     2,186,162  0.28 | 1.00  1.00  1.00  0.00
  delta2 (max_byte_size=4096)       622,837 12.86 | 0.28  0.02  1.22  0.13
     headerdiff (buffer=4096)       596,290  3.65 | 0.27  0.02  0.92  0.18

Cheers,


--
Mark Nottingham   http://www.mnot.net/