measuring*and*mi,ga,ng** …...every)millisecond)counts) 500msdelaycauses 1.2%decrease*in*...

23
Measuring and Mi,ga,ng Web Performance Bo5lenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria) Nazanin Magharei (Cisco) h?p://projectbismark.net/ 1

Upload: others

Post on 23-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

Measuring  and  Mi,ga,ng    Web  Performance  Bo5lenecks    in  Broadband  Access  Networks  

 Srikanth  Sundaresan,  Nick  Feamster  (Georgia  Tech)  

Renata  Teixeira  (Inria)  Nazanin  Magharei  (Cisco)  h?p://projectbismark.net/  

 

1  

Page 2: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

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  ,me.  

Page 3: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

Many  Performance  OpTmizaTons  

What  about  the  last-­‐mile?  

Home  Network  

ISP   Internet  

Server-­‐Side  •  Persistent  connec,ons  •  TCP  ICW  •  Content  op,miza,on  

ISP  Edge  •  CDNs  •  DNS  caching  

Client-­‐Side  •  Browser  caching  •  SPDY/QUIC  

3  

Page 4: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

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]  

•  OpTmizaTons  are  affected  by  last-­‐mile  performance  

•  The  effects  of  the  last-­‐mile  on  Web  performance  has  not  been  specifically  studied  

This  talk:  Measure  and  mi*gate  access  link  bo5lenecks  in  Web  performance  

4  

Page 5: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

Two  ContribuTons  

•  Measure  last-­‐mile  Web  bo?lenecks  – 5000+  homes,  from  access  point  using  (SamKnows)  – Latency  is  bo?leneck  beyond  16  Mbps  

•  Mi,gate  Web  performance  bo?lenecks  – Popularity-­‐based  pre-­‐fetching  in  the  home  – DNS  pre-­‐fetching  and  TCP  connecTon  caching  in  the  home  can  improve  page  load  Tme  by  up  to  35%  (BISmark)  

5  

Page 6: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

Measuring  Last-­‐Mile  Effects  on    Web  Performance  

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

•  Solu,on:  Measure  from  router  – Piggyback  on  exisTng  deployments  (FCC,  BISmark)  – Consistent  measurements  –  similar  hardware  – ConTnuous  measurements  –  be?er  characterizaTon  

6  

Page 7: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

Mirage:  Deployment  and  Data  

•  Emulates  basic  browser  func,on  – EsTmates  page  load  Tme  – 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]  

7  

Page 8: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

SamKnows  Deployment  

•  5,556  homes  in  US,  Netgear  3500  routers  •  11  ISPs  – AT&T,  Cablevision,  CenturyLink,  Charter,  Comcast,  Cox,  Mediacom,  TimeWarner,  Qwest,  Verizon,  Windstream    

•  9  Websites  –  ediTon.cnn.com,  www.amazon.com,  www.ebay.com,  www.facebook.com,  www.google.com/mobile,  www.msn.com,  www.wikipedia.org,  www.yahoo.com,  www.youtube.com    

•  Data  from  September  2012  8  

Page 9: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

Time  to  first  byte  

Mirage  IdenTfies  Latency  Bo?lenecks  

9  

Time  

Objects  

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

 

Lookup  Connect  Server  processing  Object  fetch  

Page  load  *me  

Page 10: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

Popular  Sites  Have  High  Page  Load  Time  

10  

Median  load  ,me  for  Yahoo  exceeds  2  seconds  

Page  Load  Time  (m

s)  

Page 11: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

Higher  Throughput  Doesn’t  Always  Help  

11  

Page  load  ,me  stops  improving  above    16  Mbps.  

Page  Load  Time  (m

s)  

Throughput  (Mbps)  

Page 12: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

Mirage  IdenTfies  Latency  Bo?lenecks  

12  

Time  

Objects  

Lookup  Connect  Server  processing  Object  fetch  

Page  load  *me  

Latency  overhead  can  dominate  fetch  ,me,    par,cularly  for  small  Web  objects  

Page 13: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

Common  Last-­‐Mile  Latencies  Result  in  High  Page  Load  Times  

13  

Many  DSL  users  may  experience  high  page  

load  ,mes.  

Throughput  (Mbps)  

Page  Load  Time  (m

s)  

Page 14: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

Two  ContribuTons  

•  Measure  last-­‐mile  Web  bo?lenecks  – 5000+  homes,  from  access  point  – Latency  is  bo?leneck  beyond  16  Mbps  

•  Mi,gate  Web  performance  bo?lenecks  – Popularity-­‐based  pre-­‐fetching  in  the  home  – DNS  pre-­‐fetching  and  TCP  connecTon  caching  in  the  home  can  improve  page  load  Tme  by  up  to  35%  

14  

Page 15: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

Many  OpTmizaTons  Don’t  Help  in  Last  Mile  

•  Many  (CDNs,  server-­‐side)  stop  at  the  ISP  edge  •  Client-­‐side  opTmizaTons  are  applicaTon-­‐specific   15  

Home  Network   ISP   Internet  

Server-­‐Side  •  Persistent  connec,ons  •  TCP  ICW  •  Content  op,miza,on  

ISP  Edge  •  CDNs  •  DNS  caching  

Client-­‐Side  •  Browser  caching  •  SPDY/QUIC  

Page 16: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

SoluTon:  Pre-­‐fetching  in  the  Home  

16  

Home  Network  

Internet  

www.domain.com  

Popular  Domains  List    www.popular.net  10  www.domain.com  1    

Refresh  DNS  record  Maintain  TCP  connec,on  

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

Page 17: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

Popularity-­‐based  Pre-­‐fetching:  EvaluaTon  

17  

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

•  How  do  the  benefits  complement  browser  opimiza,ons?  –  Phantomjs  in  controlled  semng  

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

 

Page 18: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

BISmark  Deployment  •  64  Homes  for  study,  Netgear  WNDR  3800  –  175+  acTve  routers  now  – Open  data,  open  development  

18  h5p://projectbismark.net    

Page 19: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

DNS  pre-­‐fetching  improves  page  load  ,me  by  up  to  10%  

Effect  of  DNS  Pre-­‐fetching  

19  

Internet  

DNS  Pre-­‐fetching  1.  Clear  caches  2.  Fetch  page  3.  Fetch  page  again  

DNS  Resolver  

Fetch  web  page  using  Mirage  

Page 20: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

TCP  connec,on  caching  improves  page  load  ,me  by  up  to  35%  

Effect  of  TCP  ConnecTon  Pre-­‐fetching  

20  

Internet  

TCP  Connec,on  caching  1.  Clear  caches  2.  Fetch  page  through  HTTP  proxy  3.  Clear  content  cache  4.  Fetch  page  again  

DNS  Resolver  HTTP  Proxy  

Fetch  web  page  using  Mirage  

Page 21: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

Popularity-­‐based  Pre-­‐fetching:  EvaluaTon  

21  

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

•  How  do  the  benefits  complement  browser  op,miza,ons?  – Phantomjs  in  controlled  semng  

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

Page 22: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

Reducing  the  overhead  of  pre-­‐fetching  

•  Solu,on:  Pre-­‐fetch  only  popular  sites  with  Tmeout  

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

•  Cache  hits  improve  list  size  of  20  and  Tmeout  of  2  minutes  – DNS  hit  rate  improves  from  11-­‐50%  to  19-­‐90%    – TCP  hit  rate  improves  from  1-­‐8%  to  6-­‐21%  

22  

Page 23: Measuring*and*Mi,ga,ng** …...Every)Millisecond)Counts) 500msdelaycauses 1.2%decrease*in* Bing*revenue* [Souders2009]400msdelaycauses 0.74%decrease*in* Googlesearches [Brutlag2009]2

Conclusion  

•  Page  load  ,mes  are  high  for  popular  sites  – Latency  is  a  bo?leneck  when  downstream  throughput  is  >  16  Mbps  

•  Popularity-­‐based  prefetching  improves  performance  by  up  to  35%.  – Complementary  to  exisTng  opTmizaTons  

•  Data  and  code  are  publicly  available  at  h?p://projectbismark.net/  

23