Re: Please review HTTP performance aspects of Incremental Font Transfer

Martin Thomson <mt@lowentropy.net> Tue, 05 July 2022 02:36 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 DDB70C14F740 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 4 Jul 2022 19:36:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.758
X-Spam-Level:
X-Spam-Status: No, score=-2.758 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.25, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=lowentropy.net header.b=OcQIeZnT; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=yQ7VTrGz
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cnfa-fgjeuZN for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 4 Jul 2022 19:35:56 -0700 (PDT)
Received: from lyra.w3.org (lyra.w3.org [128.30.52.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5FFA4C14F74C for <httpbisa-archive-bis2Juki@lists.ietf.org>; Mon, 4 Jul 2022 19:35:55 -0700 (PDT)
Received: from lists by lyra.w3.org with local (Exim 4.94.2) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1o8YMc-00DEEE-Sn for ietf-http-wg-dist@listhub.w3.org; Tue, 05 Jul 2022 02:32:34 +0000
Resent-Date: Tue, 05 Jul 2022 02:32:34 +0000
Resent-Message-Id: <E1o8YMc-00DEEE-Sn@lyra.w3.org>
Received: from mimas.w3.org ([128.30.52.79]) by lyra.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <mt@lowentropy.net>) id 1o8XwP-00DAaF-MO for ietf-http-wg@listhub.w3.org; Tue, 05 Jul 2022 02:05:29 +0000
Received: from out2-smtp.messagingengine.com ([66.111.4.26]) by mimas.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <mt@lowentropy.net>) id 1o8XwN-00ANDh-FI for ietf-http-wg@w3.org; Tue, 05 Jul 2022 02:05:29 +0000
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 9B47B5C012A for <ietf-http-wg@w3.org>; Mon, 4 Jul 2022 22:05:15 -0400 (EDT)
Received: from imap41 ([10.202.2.91]) by compute3.internal (MEProxy); Mon, 04 Jul 2022 22:05:15 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=cc:content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm3; t=1656986715; x=1657073115; bh=kJGWSBVJnY j2XBu2etxSyG157imM5CuqnklljH0jvmw=; b=OcQIeZnTzzn9tKmERdi7z7wf7Z HhCU/ozkaCuCzGtn4UEJn97GolsoLr6OtxDJ0ufzeeACC88WDmdJZTHWF63AuBMS vQNREpcSIYEzRHf9pEiKmR2oEdE4/tKjf0oW6//TTTksRO8Paos0OI65KFBYfPS6 qpfshuDt2sxqZKcDKxERLOsD+EADEVKzWfVarlO7ZldG03vx39zQv2j99UrZOa2+ 7mku1rx6uRobvnIBx6Ed58fGF/fF2Jrf/NitODrilaCIZOtsrgLIlVIb2ZyK50oD BKpDkGaydcAZSesirLD7Vo65MoAQ357DiRK0VfnRuj/KBLxu4PEutnDFFesg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1656986715; x=1657073115; bh=kJGWSBVJnYj2XBu2etxSyG157imM 5CuqnklljH0jvmw=; b=yQ7VTrGzH30EEFPpuFJxp+39XtfwpsJGJa9VYKHe5qnw Mxp5YDneeplHBdtnoRq2h9x4pRYDQv6K8ACybKxQraOGuFLTU5PRAimIjQdqMOmM gG9Cxrx6zFwNAfOKwFUUVOajQCapAXRWDeXErteX3ZzLrEpt/GjZ68yEV4L4LizM qMiu3cYOO9fJrnpn/Ao9CXbB5yLeabQ9BGj+fNOjCG364rRddmwcQs8AJTQK62hC RhHhUC5L0FfM6Kc3oK3gDQX+PhhND2vZlEx9WLwFYKcoZhxijT06Fqdgt6/CZqHA SprgQ8YmyvrBkIEiGKdHnc9O/Q3uGe/iLGnPV1NY4w==
X-ME-Sender: <xms:W5zDYnJ4Yqn6RseqPSTcrN8tnmhpIjGCQoXQOi3O3XNGgCYwGgBR-w> <xme:W5zDYrLQMcQrks6EXqzB_XeCnCBR2juRP0DelJefj6xJeuTvA-HZNGKXUoTBe4W0h G8lD1P9iltA-EfLqPg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrudeitddgheefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfgjfhffhffvufgtsehttd ertderredtnecuhfhrohhmpedfofgrrhhtihhnucfvhhhomhhsohhnfdcuoehmtheslhho figvnhhtrhhophihrdhnvghtqeenucggtffrrghtthgvrhhnpeeugeehgffhjefgkeffge eltddtgfefueeghfefvdduvdehgfefjeegheffledvieenucffohhmrghinhepfiefrdho rhhgpdhrvghsvggrrhgthhdrghhoohhglhgvpdhivghtfhdrohhrghenucevlhhushhtvg hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmtheslhhofigvnhhtrhho phihrdhnvght
X-ME-Proxy: <xmx:W5zDYvsfLgKgt17usvEsFpGPgci9gRbaCGcBe9fzG78acOgmqrnpWg> <xmx:W5zDYgaMpsh-XEi39Ae1AbwoQa7SmxK614MA-iZcu9afpBXTz-0gmA> <xmx:W5zDYubGgpakyNN1VdcaPgPKcxo9NXrP4FMQJc_KPa8uVh68AUVV0w> <xmx:W5zDYnm_SsE4ZyxNLUtDmWmhXkS67eQ_vNcapgKxIgBjHkgKLw59eg>
Feedback-ID: ic129442d:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 52266234007E; Mon, 4 Jul 2022 22:05:15 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.7.0-alpha0-713-g1f035dc716-fm-20220617.001-g1f035dc7
Mime-Version: 1.0
Message-Id: <062a8149-984b-49cb-934b-5d922cb66878@beta.fastmail.com>
In-Reply-To: <022fab07-52d9-e8f6-115f-fd76bb31a655@w3.org>
References: <b29bbf8b-25da-4abb-a310-34ad4c68d7ba@beta.fastmail.com> <b29bbf8b-25da-4abb-a310-34ad4c68d7ba@beta.fastmail.com> <022fab07-52d9-e8f6-115f-fd76bb31a655@w3.org>
Date: Tue, 05 Jul 2022 12:04:57 +1000
From: Martin Thomson <mt@lowentropy.net>
To: ietf-http-wg@w3.org
Content-Type: text/plain
Received-SPF: pass client-ip=66.111.4.26; envelope-from=mt@lowentropy.net; helo=out2-smtp.messagingengine.com
X-W3C-Hub-DKIM-Status: validation passed: (address=mt@lowentropy.net domain=lowentropy.net), signature is good
X-W3C-Hub-DKIM-Status: validation passed: (address=mt@lowentropy.net domain=messagingengine.com), signature is good
X-W3C-Hub-Spam-Status: No, score=-14.8
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, W3C_AA=-1, W3C_DB=-1, W3C_IM=-5, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1o8XwN-00ANDh-FI 28cb5ebf1549cf2aa9b7bd3ce3d3b045
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Please review HTTP performance aspects of Incremental Font Transfer
Archived-At: <https://www.w3.org/mid/062a8149-984b-49cb-934b-5d922cb66878@beta.fastmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/40240
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: <https://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

On Mon, Jul 4, 2022, at 22:35, Chris Lilley wrote:
> https://www.w3.org/TR/PFE-evaluation/

Thanks for the context.

I found this interesting, but wasn't able to reach the same conclusions here based on what was presented here.  Even taking it as given that a font subset is smaller, the network simulation here looks fancy, but my experience with simulation is that it is not worth much.  A real-world evaluation will include packet loss and contention with other activity.  That includes some impact from processing time, which I am guessing will be a factor here.

What the performance evaluation doesn't say is how much the (purported) performance regressions correlated with poor (simulated) network conditions.  I might infer from this that the users on the worst networks suffered the worst, but that isn't necessarily how something like this ends up working in practice.  

To take a different example, with QUIC, Google's initial experiments[0] showed that the regressions were observed for people on really fast networks.  The best theory there was that QUIC was a little more complex, so it involved spending a bit more CPU, which on a fast network became the determining factor.

QUIC was overwhelmingly good for people on bad networks.  Improvements got larger as networks got worse.  Here, it looks like you might have something that makes the people with the slowest 5% of connections slower. That would be a poor outcome if it is the case.

Other notes:

When you have processes like the suggested "font optimization" [1], there are some operational concerns here on top of the performance ones.  How would any site decide how to select the input material for optimization?  How broadly applicable would that optimization be?  How do you discover that your content is an outlier and therefore adversely affected?  What process do you put in place so that outliers aren't treated poorly?

Separately, the document acknowledges the possibility that a font server can use the subset of fonts to build information about what content its clients have viewed.  This isn't an idle problem, so the manner in which this is dismissed in the spec probably isn't really appropriate.  Website fingerprinting [2] is a thing and this gives the font server much better information, but what is not noted is that this also gives some of that information to network adversaries.

[0] https://research.google/pubs/pub46403/
[1] https://lists.w3.org/Archives/Public/public-webfonts-wg/2020Oct/0028.html
[2] https://www.ietf.org/archive/id/draft-irtf-pearg-website-fingerprinting-01.html