Network Performance Effects on HTTP/1.1, CSS1, and PNG
-
Upload
nathan-mooney -
Category
Documents
-
view
21 -
download
0
description
Transcript of Network Performance Effects on HTTP/1.1, CSS1, and PNG
2/24/2000
Network Performance Effects on HTTP/1.1, CSS1,
and PNG
Luis Rivera
Henrik Frystyk Nielsen : W3CJames Gettys : DECAnselm 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 !!!