measuring and mitigating web performance bottlenecks in broadband access networks srikanth...

26
Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria) Nazanin Magharei (Cisco) http://projectbismark.net/ 1

Upload: jacob-webster

Post on 17-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

1

Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks

Srikanth Sundaresan, Nick Feamster (Georgia Tech)Renata Teixeira (Inria)

Nazanin Magharei (Cisco)http://projectbismark.net/

Page 2: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

Every Millisecond Counts

500ms delay causes 1.2% decrease in Bing revenue [Souders 2009]

400ms delay causes 0.74% decrease in Google

searches [Brutlag 2009]

2

100ms delay causes 1% decrease in Amazon revenue [Linden 2013]

Many Web services companies spend considerable effort reducing

Web response time.

Page 3: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

Many Performance Optimizations

What about the last-mile?

HomeNetwork

ISP Internet

Server-Side• Persistent connections• TCP ICW• Content optimizationISP Edge

• CDNs• DNS caching

Client-Side• Browser caching• SPDY/QUIC

3

Page 4: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

4

The Last-Mile Affects Performance

• Last-mile latency can be significant– More than 50% of AT&T DSL users have last-mile latency

greater than 20 ms [Sundaresan 2011]

• Optimizations are affected by last-mile performance• The effects of the last-mile on Web performance has

not been specifically studied

This paper: Measure and mitigate access link bottlenecks in Web performance

Page 5: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

5

Two Contributions

• Measure last-mile Web bottlenecks– 5000+ homes, from access point– Latency is bottleneck beyond 16 Mbps

• Mitigate Web performance bottlenecks– Popularity-based pre-fetching in the home– DNS pre-fetching and TCP connection caching in the

home can improve page load time by up to 35%

Page 6: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

6

Measuring Last-Mile Effects on Web Performance

• Challenges: Instrumenting end-hosts– No ground truth: Every browser is different– Confounding factors affect measurements

• Solution: Measure from router– Piggyback on existing deployments (FCC, BISmark)– Consistent measurements – similar hardware– Continuous measurements – better

characterization

Page 7: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

7

Mirage: Deployment and Data

• Emulates basic browser function– Estimates page load time– Breaks down fetch latencies

• Deployed by FCC/Samknows– 5,000+ homes in US: from 11 ISPs– Profiles 9 popular sites– Measurements are publicly available [FCC 2012]

Page 8: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

Time to first byte

Mirage Identifies Latency Bottlenecks

8

Time

Obj

ects

• Does not: – Resolve or fetch active objects– Establish ground truth (there isn’t any)

Lookup

Connect

Server processing

Object fetch

Page load time

Page 9: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

Popular Sites Have High Page Load Time

9

Median load time for Yahoo exceeds 2 seconds

Page

Loa

d Ti

me

(ms)

Page 10: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

10

Higher Throughput Doesn’t Always Help

Page load time stops improving above 16 Mbps.

Page

Loa

d Ti

me

(ms)

Throughput (Mbps)

Page 11: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

11

Mirage Identifies Latency Bottlenecks

Time

Obj

ects

Lookup

Connect

Server processing

Object fetch

Page load time

Latency overhead can dominate fetch time, particularly for small Web objects

Page 12: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

Common Last-Mile Latencies Result in High Page Load Times

12

Many DSL users may experience high page load

times.

Throughput (Mbps)

Page

Loa

d Ti

me

(ms)

Last Mile Latency (ms)

Page 13: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

13

Two Contributions

• Measure last-mile Web bottlenecks– 5000+ homes, from access point– Latency is bottleneck beyond 16 Mbps

• Mitigate Web performance bottlenecks– Popularity-based pre-fetching in the home– DNS pre-fetching and TCP connection caching in the

home can improve page load time by up to 35%

Page 14: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

Many Optimizations Don’t Help in Last Mile

• Many (CDNs, server-side) stop at the ISP edge• Client-side optimizations are application-specific

14

HomeNetwork ISP Internet

Server-Side• Persistent connections• TCP ICW• Content optimization

ISP Edge• CDNs• DNS caching

Client-Side• Browser caching• SPDY/QUIC

Page 15: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

Solution: Pre-fetching in the Home

15

HomeNetwork

Internet

www.domain.com

Popular Domains List

www.popular.net 10www.domain.com 1 Refresh DNS record

Maintain TCP connection

Idea: Refresh DNS records and TCP connections to popular domains at the router

Page 16: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

Popularity-based Pre-fetching: Evaluation

16

• What is the improvement in the best case?– Mirage on BISmark platform (65 nodes worldwide)

• How do the benefits complement browser opimizations?– Phantomjs in controlled setting

• How can we make it practical?– Evaluate caching using real user traces from 12 homes

Page 17: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

DNS pre-fetching improves page load timeby up to 10%

Effect of DNS Pre-fetching

17

Internet

DNS Pre-fetching1. Clear caches2. Fetch page3. Fetch page again

DNS Resolver

Fetch web page using Mirage

Page 18: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

18

DNS pre-fetching can save up to 50 ms

Max DNS lookup time is reduced by 15-50 ms!

Page 19: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

TCP connection caching improves page load timeby up to 35%

Effect of TCP Connection Pre-fetching

19

Internet

TCP Connection caching1. Clear caches2. Fetch page through HTTP proxy3. Clear content cache4. Fetch page again

DNS ResolverHTTP Proxy

Fetch web page using Mirage

Page 20: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

20

TCP Connection Caching Reduces Page Load Times

TCP connection caching improves page load times by 150-750 ms

Page 21: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

21

Popularity-Based Prefetching Reduces Page Load by up to 50%

Page 22: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

22

Popularity-Based Prefetching Reduces Page Load by up to 50%

Page 23: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

23

Popularity-based Pre-fetching: Evaluation

• What is the improvement in the best case?– Mirage, using BISmark (65 nodes worldwide)

• How do the benefits complement browser optimizations?– Phantomjs in controlled setting

• How can we make it practical?– Evaluate caching using user traces from 12 homes

Page 24: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

24

Reducing the overhead of pre-fetching

• Solution: Pre-fetch only popular sites with timeout

• Analysis of passive usage traces in 12 homes – Simulation based on traces– Test list size and timeout intervals

• Cache hits improvement (with list size of 20 and timeout of 2 minutes):– DNS hit rate improves from 11-50% to 19-90% – TCP hit rate improves from 1-8% to 6-21%

Page 25: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

25

Improvements in Browser

Improvements with Phantomjs – up to 7% improvement with DNS pre-fetching and 20% with TCP caching; up to 60% with Home Proxy

Page 26: Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)

26

Conclusion

• Page load times are high for popular sites– Latency is a bottleneck when downstream

throughput is > 16 Mbps• Popularity-based prefetching improves

performance by up to 35%.– Complementary to existing optimizations

• Data and code are publicly available at http://projectbismark.net/