Performance Comparison of Congested HTTP/2 Links Brian Card, CS 577 12/7/2014 1.

Slides:



Advertisements
Similar presentations
Enabling Secure Internet Access with ISA Server
Advertisements

Hypertext Transfer PROTOCOL ----HTTP Sen Wang CSE5232 Network Programming.
CHAPTER 15 WEBPAGE OPTIMIZATION. LEARNING OBJECTIVES How to test your web-page performance How browser and server interactions impact performance What.
Ningning HuCarnegie Mellon University1 Optimizing Network Performance In Replicated Hosting Peter Steenkiste (CMU) with Ningning Hu (CMU), Oliver Spatscheck.
Spring 2000CS 4611 Introduction Outline Statistical Multiplexing Inter-Process Communication Network Architecture Performance Metrics.
Web Server Benchmarking Using the Internet Protocol Traffic and Network Emulator Carey Williamson, Rob Simmonds, Martin Arlitt et al. University of Calgary.
Traffic Infrastructure ©2013 LinkedIn Corporation. All Rights Reserved. HTTP/2 and a faster Web What it is, what it does and what does it mean.
SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.
Cloud Control with Distributed Rate Limiting Raghaven et all Presented by: Brian Card CS Fall Kinicki 1.
Amazon CloudFront An introductory discussion. What is Amazon CloudFront? 5/31/20122© e-Zest Solutions Ltd. Amazon CloudFront is a web service for content.
SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY.
By Jory Cohen Made for CISC856, Spring 2010 Thanks to Dr. Amer, Mike Belshe(Google), Jon Leighton.
Dynamic Adaptive Streaming over HTTP2.0. What’s in store ▪ All about – MPEG DASH, pipelining, persistent connections and caching ▪ Google SPDY - Past,
The War Between Mice and Elephants Presented By Eric Wang Liang Guo and Ibrahim Matta Boston University ICNP
How’s My Network (HMN)? A Java approach to Home Network Measurement Alan Ritacco, Craig Wills, and Mark Claypool Computer Science Department Worcester.
Performance Analysis of Orb Rabin Karki and Thangam V. Seenivasan 1.
EEC-484/584 Computer Networks Lecture 6 Wenbing Zhao
CSE 190: Internet E-Commerce Lecture 16: Performance.
EEC-484/584 Computer Networks Discussion Session for HTTP and DNS Wenbing Zhao
1 TCP-LP: A Distributed Algorithm for Low Priority Data Transfer Aleksandar Kuzmanovic, Edward W. Knightly Department of Electrical and Computer Engineering.
Dynamic parallel access to replicated content in the Internet Pablo Rodriguez and Ernst W. Biersack IEEE/ACM Transactions on Networking, August 2002.
The StarNet Analyzer. Contact SNA Department x172
EEC-484/584 Computer Networks Lecture 7 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
5/12/05CS118/Spring051 A Day in the Life of an HTTP Query 1.HTTP Brower application Socket interface 3.TCP 4.IP 5.Ethernet 2.DNS query 6.IP router 7.Running.
Putting the Network to Work
1 Chapter Overview Introduction to Windows XP Professional Printing Setting Up Network Printers Connecting to Network Printers Configuring Network Printers.
COMPUTER TERMS PART 1. COOKIE A cookie is a small amount of data generated by a website and saved by your web browser. Its purpose is to remember information.
Private Cloud or Dedicated Hosts Mason Mabardy & Matt Maples.
Linux Operations and Administration
IT 210 The Internet & World Wide Web introduction.
1 The SpaceWire Internet Tunnel and the Advantages It Provides For Spacecraft Integration Stuart Mills, Steve Parkes Space Technology Centre University.
Different ways to implement CSS. There are four different ways to use CSS in your web pages: – Inline CSS – Embedded CSS/Internal CSS – Linked CSS/External.
DNN Performance & Scalability Planning, Evaluating & Improving : Part 2.
UDgateway WAN Optimization. 1. Why UDgateway? All-in-one solution Value added services – Networking project requirements Optimize IP traffic on constrained.
Chapter 4. After completion of this chapter, you should be able to: Explain “what is the Internet? And how we connect to the Internet using an ISP. Explain.
Building Highly Scalable Websites Karol Jarkovsky Sr. Solution Architect
Chapter 1: Introduction to Web Applications. This chapter gives an overview of the Internet, and where the World Wide Web fits in. It then outlines the.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
CIS 1310 – HTML & CSS 1 Introduction to the Internet.
The Inter-network is a big network of networks.. The five-layer networking model for the internet.
A Measurement Based Memory Performance Evaluation of High Throughput Servers Garba Isa Yau Department of Computer Engineering King Fahd University of Petroleum.
Web Hosting Herng-Yow Chen. Outline How different web site can be “ virtually hosted ” on the same server, and how this affects HTTP How to make web sites.
ﺑﺴﻢﺍﷲﺍﻠﺭﺣﻣﻥﺍﻠﺭﺣﻳﻡ. Group Members Nadia Malik01 Malik Fawad03.
CSE 461 HTTP and the Web. This Lecture  HTTP and the Web (but not HTML)  Focus  How do Web transfers work?  Topics  HTTP, HTTP1.1  Performance Improvements.
Proxy Servers.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
Empirical Quantification of Opportunities for Content Adaptation in Web Servers Michael Gopshtein and Dror Feitelson School of Engineering and Computer.
Transport Layer3-1 TCP throughput r What’s the average throughout of TCP as a function of window size and RTT? m Ignore slow start r Let W be the window.
2007cs Servers on the Web. The World-Wide Web 2007 cs CSS JS HTML Server Browser JS CSS HTML Transfer of resources using HTTP.
Measuring the Capacity of a Web Server USENIX Sympo. on Internet Tech. and Sys. ‘ Koo-Min Ahn.
HTTP/2 and ATS ATS Fall Summit 2015 Bryan Call. Why HTTP/2? Reduce latency and TCP connection overhead Easier to write well-performing sites (no domain.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. Overview of Ethernet Networking A Rev /31/2011.
The Internet. Important Terms Network Network Internet Internet WWW (World Wide Web) WWW (World Wide Web) Web page Web page Web site Web site Browser.
79 Sidevõrgud IRT 4060/ IRT 0020 vooruloeng 8 / 3. nov 2004 Vooülekanne Avo Ots telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst.
Performance Evaluation of Redirection Schemes in Content Distribution Networks Jussi Kangasharju, Keith W. Ross Institut Eurecom Jim W. Roberts France.
By Zach Archer COSC 480. Road map What is SPDY Timeline SPDY gateways Major Advances over HTTP Where SPDY is Currently Closing Thoughts.
Bryan Call ATS Spring Summit 2016
Tiny http client and server
Affinity Depending on the application and client requirements of your Network Load Balancing cluster, you can be required to select an Affinity setting.
Quick UDP Internet Connections
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Web Caching? Web Caching:.
Introduction to Networks
SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic
Utilization of Azure CDN for the large file distribution
CSE 461 HTTP and the Web.
HTTP/2.
HyperText Transfer Protocol
HTTP/2.
Presentation transcript:

Performance Comparison of Congested HTTP/2 Links Brian Card, CS /7/2014 1

Worcester Polytechnic Institute Outline HTTP/1.1 and HTTP/2 Connections Problem Statement Experimental Setup Results 2

HTTP/1.1 and HTTP/2 Connections 3

Worcester Polytechnic Institute Background of HTTP HTTP is the Hypertext Transfer Protocol, the underlying protocol of the Web Major version of HTTP/1.1 was finalized in RFC 2616 in 1999 Why do we need a new version of HTTP? 4

Worcester Polytechnic Institute Speed! Average website complexity is increasing! Users expect more features and better performance at the same time! Increasing capacity does not solve problem, latency has a significant affect on page load time 5

Worcester Polytechnic Institute HTTP/1.1 – Connection Usage HTTP/1.1 connections can request a single object at a time But there are many objects in a webpage and some have dependencies What happens if I want to parallelize downloads? ─ Need to open multiple TCP connections (usually max 6) What happens if a less important object is downloaded first? ─ This is a problem ─ Head Of Line Blocking where a large unimportant file ‘clogs up’ the connection 6

Worcester Polytechnic Institute Domain Sharding Maximum of 6 connections per domain 7 Client Server

Worcester Polytechnic Institute Domain Sharding Create More Domains! 8 Client Server

Worcester Polytechnic Institute Domain Sharding Average Number of Domains per website is 18! 9

Worcester Polytechnic Institute Domain Sharding Average Number of (TCP) Connections per Page 10

Worcester Polytechnic Institute Other HTTP/1.1 tricks Inline files, (base64 encode an image, put it in CSS file) Concatenate files (push all CSS files into a single file) All trying to get the same amount of content to stream over a single connection or multiple simultaneous connections 11

Worcester Polytechnic Institute HTTP/2 Multiplexed Streaming Can stream multiple resources over the same connections Resources are prioritized by specifying a dependency graph, no Head Of Line Blocking 12

Worcester Polytechnic Institute HTTP/2 Multiplexed Streaming Single TCP connection per domain Up to 100 ‘Streams’ per TCP connection 13 Client Server

Worcester Polytechnic Institute Other features of HTTP/2 Header Compression Binary Protocol (HTTP/1.1 is text) Encryption Required Server Push (Server can push resources uninitiated) 14

Problem Statement But What About Congestion Control? 15

Worcester Polytechnic Institute Congestion Control HTTP/1.1 uses many connections When a packet is dropped, only one connection goes into congestion avoidance ─ Throughput of a single connection is halved HTTP/2 has one connection, when a packet is dropped the throughput of the entire download is halved HTTP/2 connections may reach higher speeds faster, since new connections do not need to be created If websites do not load faster, people won’t use HTTP/2 16

Worcester Polytechnic Institute This Project Quantify the effects of congestion control on HTTP/1.1 vs HTTP/2 Will HTTP/2 make domain sharding disappear? 17

Experimental Setup 18

Worcester Polytechnic Institute Overview 19 Server Server Server n [n-1] Virtual Box Ubuntu VM HTTP Web site hosted by multiple servers on a Virtual Machine. HTTP/1.1 and HTTP/2 servers are swapped out depending on experiment. Measure time to load page completely.

Worcester Polytechnic Institute Setup Details MacBook Air Mountain Lion http-server (node.js) nghttp (supports draft-ietf-httpbis-http2-14) VirtualBox Ubuntu LTS Firefox Nightly 36.0a1 Network Link Conditioner (Late July 2012) IP Aliasing to create multiple addresses 20

Worcester Polytechnic Institute Setup Details (continued…) http-server used as the HTTP/1.1 Server nghttp used as the HTTP/2 server ─ Had to edit codebase to support multiple servers binding to different IP addresses on the same machine Sample website is hosted by either server Measure the time it takes to load under varying network conditions TLS enabled on both web servers 21

Worcester Polytechnic Institute Firefox Settings Firefox network analyzer used to measure page load time Nightly build has latest HTTP/2 support Caching disabled: 22 about:config SettingValue network.http.spdy.enabled.http2 true network.http.spdy.enabled.http2draft true network.http.use-cache false browser.cache.offline.enabled false

Worcester Polytechnic Institute Sample Website 23 HTMLCSSJavaScriptImages 1*60KB 5*1KB10*1KB 5*10KB10*5KB 5*20KB20*20KB 5*37KB5*40KB 5*140KB Total 60KB 340KB1360KB=1820KB

Worcester Polytechnic Institute Sample Website (continued…) Each file is mostly filled with comments to take up available space Content is rendered ‘below the fold’ For sharded domains objects are distributed equally between domains This ensures equal load between domains ─ In the real world, resources would typically be segregated by domains (images all on one set of domains) 24

Results 25

Worcester Polytechnic Institute Results ‘Warm-up’ run used before collection results ─ eliminates some startup costs on servers ─ do not want to test implementation differences between http servers Results are average of 3 runs 26

Worcester Polytechnic Institute Varying Capacity in Ideal Conditions 27

Worcester Polytechnic Institute Comparison of HTTP/2 vs HTTP/1.1 28

Worcester Polytechnic Institute Comparison of HTTP/2 vs HTTP/1.1 29

Worcester Polytechnic Institute Varying Capacity, 79ms of Delay 30

Worcester Polytechnic Institute One Domain HTTP/2 vs 5 Domains HTTP/1.1 31

Worcester Polytechnic Institute Increase In Performance for Increasing Domains in HTTP/2? 32

Worcester Polytechnic Institute Loss for HTTP/1.1 and HTTP/2 Fixed Throughput at 5Mbps Fixed Latency at 79ms Varied Delay 1%, 2%, 5%, 10% Last value for single domain HTTP/2 is ‘optimistic’; ran more than three runs and timeouts were occurring 33

Worcester Polytechnic Institute Loss For HTTP/1.1 and HTTP/2 34

Worcester Polytechnic Institute Conclusions HTTP/2 has increased performance over HTTP/1 for non-congested links Unclear if domain sharding will disappear with HTTP/2 Under high loss links, HTTP/2 performs significantly worse HTTP/2 may not be ubiquitous, advantages for high bandwidth delay product links with no loss 35