Network Performance Effects of HTTP/1.1, CSS1, and PNG

The paper is available at:
http://www.w3.org/pub/WWW/Protocols/HTTP/Performance/Pipeline.html.
The paper is a bit rough; we were under deadline pressure, and we believe
timely results are better than fully polished results in this case.

Note that we have not (yet) updated the talk given at the W3C advisory comittee
meeting with the current data and conclusions from this paper; we hope to finish
updating the talk by Thursday of this week.

Our thanks to those of you who helped in some way to the work in this paper.

If you are able to install the xplot program used (an X application), 
you can drill down from the tables in the paper, to summaries of runs of data, to
plotting (using xplot) each run of data taken (any volunteers to recode xplot into Java??)

Please direct followup comments to the mailto:w3c-http@w3.org mailing list.
See http://www.w3.org/pub/WWW/Protocols/HTTP/Forum/ for more details.
The paper is primarily on implementation of HTTP/1.1, and
we have enough discussion on HTTP  working group mailing list on
protocol issues that implementation discussions are best held in
a different forum (of course, if protocol problems are discussed,
those should take place on the general working group mailing list.)

		- Jim Gettys and Henrik Frystyk Nielsen



Network Performance Effects of HTTP/1.1, CSS1, and PNG

     Henrik Frystyk Nielsen, W3C
     Jim Gettys, Visiting Scientist, W3C, Digital Equipment Corporation
     Anselm Baird-Smith, W3C
     Eric Prud'hommeaux, W3C
     Hekon Wium Lie, W3C
     Chris Lilley, W3C


Abstract

We describe our investigation of the effect of persistent connections,
pipelining and link level document compression on our client and server HTTP
implementations. A simple test setup is used to verify HTTP/1.1's design and
understand HTTP/1.1 implementation strategies. We present TCP and real time
performance data between the libwww robot and both the Jigsaw and Apache
HTTP servers using HTTP/1.0, HTTP/1.1 with persistent connections, HTTP/1.1
with pipelined requests, and HTTP/1.1 with pipelined requests and deflate
data compression [22]. We also investigate whether the TCP Nagle algorithm
has an effect on HTTP/1.1 performance. While somewhat artificial and
possibly overstating the benefits of HTTP/1.1, we believe the tests and
results approximate some common behavior seen in browsers. The results
confirm that HTTP/1.1 is meeting its major design goals. Our experience has
been that implementation details are very important to achieve all of the
benefits of HTTP/1.1.

For all our tests, a pipelined HTTP/1.1 implementation outperformed
HTTP/1.0, even when the HTTP/1.0 implementation used multiple connections in
parallel, under all network environments tested. The savings were at least a
factor of two, and sometimes as much as than a factor of ten, in terms of
packets transmitted. Elapsed time improvement is less dramatic, and strongly
depends on your network connection.

Note that the savings in network traffic and performance shown in this
document are solely due to the effects of pipelining, persistent connections
and transport compression. Some data is presented showing further savings
possible by the use of CSS1 style sheets [10], and the more compact PNG [20]
image representation that are enabled by recent recommendations at higher
levels than the base protocol. Time did not allow full end to end data
collection on these cases. The results show that HTTP/1.1 and changes in Web
content will have dramatic results in Internet and Web performance as
HTTP/1.1 and related technologies deploy over the near future. Universal use
of style sheets, even without deployment of HTTP/1.1, would cause a very
significant reduction in network traffic.

This paper does not investigate further performance and network savings
enabled by the improved caching facilities provided by the HTTP/1.1
protocol, or by sophisticated use of range requests.

Received on Monday, 10 February 1997 09:37:01 UTC