Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Network Performance Effects on HTTP/1.1, CSS1, and PNG Henrik Frystyk Nielsen : W3C James Gettys : DEC Anselm Baird-Smith: W3C Luis Rivera 2/24/2000 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? Luis Rivera 2/24/2000 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? Luis Rivera 2/24/2000 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 !!! Luis Rivera 2/24/2000 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!!! Luis Rivera 2/24/2000 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? Luis Rivera 2/24/2000 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? Luis Rivera 2/24/2000 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 !!! Luis Rivera 2/24/2000 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? Luis Rivera 2/24/2000 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 Luis Rivera 2/24/2000 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? Luis Rivera 2/24/2000 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 !!! Luis Rivera 2/24/2000