RE: Performance implications of Bundling and Minification on HTTP/1.1

The main point is to establish a baseline for how well an optimized HTTP/1.1 implementation with optimized content can perform. Given such a baseline it is much easier to compare HTTP/2.0 ideas and evaluate the positives and/or negatives of alternative solutions. As such I am not making any normative claims per se but there indeed are two points that I think are important to observe:


1)      It seems safe to assert that whatever we come up with in HTTP/2.0 should be significantly faster than what can be achieved with an optimized HTTP/1.1 implementation. I don¡¯t think speed is the only reason for considering HTTP/2.0 but it is an important one and so we have to be able to compare numbers.



2)      Without taking a broader view of performance that includes the content as an integral part you simply cannot meaningfully expect to get a fast system. In other words, there is no way that an application protocol can compensate for badly composed content. For example, if you put your links to CSS and JS deep down in your HTML or rely on 100 requests to be complete in order to render a page then no amount of protocol optimizations can effectively help you. Mechanisms such as bundling, minification, and compression can play a significant role here.

As to pipelining, the reality is that being able to send requests and responses without delay is a must in any environment with noticeable RTTs. Whether it happens using HTTP/1.1 pipelining or via some other mechanism can be discussed but there is no way that we can get better performance without it. I do understand that there are limitations in how well it is deployed but I am dubious that just deploying something different inherently will solve that unless we know the root cause.

Thanks,

Henrik

From: willchan@google.com [mailto:willchan@google.com] On Behalf Of William Chan (???)
Sent: Friday, June 22, 2012 11:30 AM
To: Henrik Frystyk Nielsen
Cc: HTTP Working Group; Howard Dierking
Subject: Re: Performance implications of Bundling and Minification on HTTP/1.1

Thanks for posting data here! Very much appreciated. I'm curious if you have any normative claims to make about how this should impact HTTP/2.0 proposals. I can see arguments for how some of these techniques rightly belong in the application layer, whereas some are working around issues in HTTP, and we may want to address in HTTP/2.0. Oh, and I'm also curious about your thoughts with regard to pipelining, since you brought it up in this post and have noted that it has practical deployment issues.

On Fri, Jun 22, 2012 at 10:18 AM, Henrik Frystyk Nielsen <henrikn@microsoft.com<mailto:henrikn@microsoft.com>> wrote:
We just published a blog [1] analyzing the performance implications of content optimizations such as bundling and minification on the performance of web pages. The data shows that by applying bundling and minification along with compression and pipelining it is possible to get significant gains in the time it takes to get the content necessary to render a page as well as the overall time it takes to download the data.

Not only does optimizing the content save bytes but it also has savings in the number of requests and responses that need to be processed as well as faster render times due to being able to retrieve the HTML, CSS, and JS up front. In the test evaluated, the speedup was from 638 ms (uncompressed, unbundled, unminified, and not pipelined) down to 146 ms for the equivalent compressed, bundled, minified, and pipelined content. However, by just looking at the data necessary to lay out the page (HTML, CSS, and JS but not images), the time went from 631 ms to 126 ms with the images being finalized within the remaining timespan from 126 to 146 ms.

It is the hope that this data can contribute to providing a baseline for evaluating HTTP/2.0 proposals compared to how an efficient HTTP/1.x implementation can perform while leverage optimizations throughout the stack to provide better user experience.

Comments welcome!

Thanks,

Henrik

[1] http://blogs.msdn.com/b/henrikn/archive/2012/06/17/performance-implications-of-bundling-and-minification-on-http.aspx

Received on Friday, 22 June 2012 19:05:57 UTC