1 / 12

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

This paper discusses the key performance differences between HTTP/1.1 and HTTP/1.0, emphasizing the importance of changes in web content such as CSS, .PNG, and MNG. It also explores the advantages of a well-implemented HTTP/1.1 protocol and the impact of compression on web performance.

danielkelly
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Network Performance Effects on HTTP/1.1, CSS1, and PNG Henrik Frystyk Nielsen : W3C James Gettys : DEC Anselm Baird-Smith: W3C Luis Rivera

  2. Outline • Goals • HTTP 1.0 vs HTTP 1.1 • Specification • Performance • Further improvements • Compression • Web content: CSS, PNB and MNG • Conclusions • This was two years ago, was about today?

  3. Paper Goals • Main Goal • Present key performance differences between HTTP/1.1 and HTTP/1.0 • Stress the importance of changes in Web Content • Secondary Goals • Expose the performance advantages of a well implemented HTTP/1.1 protocol • Show advantages of CSS, PNG and MNG • Did I miss something?

  4. Problem? • HTTP/1.0 • Not designed for multiple transmissions in the same request • Makes use of multiple TCP connections • Small multiple transmissions are affected by TCP slow start mechanism • Patch: “Keep-Alive” extensions don’t work with multiple proxies • Low support for compression • However it is still heavily used !!!

  5. Solution? • HTTP/1.1 • “Persistent connections” • Data compression • Ranges facilities • Partial retrieval of objects • Cache validation • “poor man’s multiplexing” • Design Goals • Increase network use efficiency • Allow reliable use of caching • Improve performance perceived by end user!!!

  6. Implementation headaches • Testbed • LAN, WAN and PPP • Jigsaw and Apache servers (SPARC platform) • Libwww robot, Netscape and Explorer (Pentium and Alpha platforms) • Microscape! • Initial testing • Pipelining: Achieves better efficiency! • Persistent connections: Decreases TCP packets • BUT: Multiple connections outperforms both !!! • What went wrong?

  7. Pipelining • Maintains several outstanding requests on the same connection • Tuned to produce as few small headers as possible • Requests are buffered • Improves network utilization • Need to be flushed (size threshold, timer) • Flushing can take advantage of the application knowledge! • Interfere with Nagle’s algorithm • Can you really rely on the application knowledge?

  8. Performance Tuned Version • Tuned HTTP/1.1 outperforms HTTP/1.0 • Buffering • Reduces the number of TCP packets required • Increases packet size • Pipelining • Needs to be complemented with buffering • Bigger and fewer packets increase server performance!!! • Look at performance tables !!!

  9. Compression • Data, images are already compressed • Could help to overcome TCP slow start effects • Increases the chances to generate a new batch of request • Decreases elapsed time (using zip compression) • HTML tags should be lower cased for best compression • This is good, but what is the cost of compressing web pages?

  10. Web Content • Fact • HTML was not born to be used the way it is being used! • However, it has been proved flexible • Changes represent • Potential web traffic reduction • Web page development could be easied • Style Sheets for web page designers: CSS • Better control of page representation and layout • Saves requests by replacing images in the Unicode char set • PNG and MNG for images and animation

  11. Conclusions • HTTP/1.1+pipelining outperforms HTTP/1.0 • Pipelining can significantly improve performance • Must be used with buffering and other tricks to be effective • Specially useful revalidating cached items • HTTP/1.1 new techniques saves bandwidth and uses the network more efficiently • Such changes could be improved further by changes in web content • For style sheets, images, animations, more?

  12. Discussion • What about interactions between HTTP/1.1 and a hierarchy of proxy caches • Performance improvements are nice but, • Will developers really care if they are achieved though heavy modification of existing technologies? • Are those performance improvements really significant to justify the change? • Changes to web content make sense in an ever changing web environment !!!

More Related