Demystifying Page Load Performance with WProf Aruna Balasubramanian With Xiao (Sophia) Wang, Arvind Krishnamurthy, and David Wetherall University of Washington.

Slides:



Advertisements
Similar presentations
Optimizing Websites with YSlow Tom Lianza Co-Founder Wishlisting.com Tom Lianza Co-Founder Wishlisting.com.
Advertisements

Building Fast 3rd-Party Webapps O'Reilly Velocity Web Performance and Operations Conference 24 June Lessons.
Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft.
Module 13: Performance Tuning. Overview Performance tuning methodologies Instance level Database level Application level Overview of tools and techniques.
CHAPTER 15 WEBPAGE OPTIMIZATION. LEARNING OBJECTIVES How to test your web-page performance How browser and server interactions impact performance What.
Client side performance in Web based Banking applications Divakar Prabhu Infosys Limited (NASDAQ: INFY)
SPDY - Clean Slate HTTP Note: This presentation is being loaded over SPDY.
Networking Problems in Cloud Computing Projects. 2 Kickass: Implementation PROJECT 1.
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.
University of Michigan Electrical Engineering and Computer Science Anatomizing Application Performance Differences on Smartphones Junxian Huang, Qiang.
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.
Dynamic Adaptive Streaming over HTTP2.0. What’s in store ▪ All about – MPEG DASH, pipelining, persistent connections and caching ▪ Google SPDY - Past,
Project 4 U-Pick – A Project of Your Own Design Proposal Due: April 14 th (earlier ok) Project Due: April 25 th.
An Analysis of Internet Content Delivery Systems Stefan Saroiu, Krishna P. Gommadi, Richard J. Dunn, Steven D. Gribble, and Henry M. Levy Proceedings of.
World Wide Web1 Applications World Wide Web. 2 Introduction What is hypertext model? Use of hypertext in World Wide Web (WWW) – HTML. WWW client-server.
WHAT IS AJAX? Zack Sheppard [zts2101] WHIM April 19, 2011.
Analysis and Performance Information Systems 337 Prof. Harry Plantinga.
Performance Comparison of Congested HTTP/2 Links Brian Card, CS /7/
HTTP Performance Objective: In this problem, we consider the performance of HTTP, comparing non-persistent HTTP with persistent HTTP. Suppose the page.
Microsoft ® Official Course Developing Optimized Internet Sites Microsoft SharePoint 2013 SharePoint Practice.
High Performance Websites (Based on Steve Souder’s lecture) By Bhoomi Patel.
2/24/2000 Network Performance Effects on HTTP/1.1, CSS1, and PNG Luis Rivera Henrik Frystyk Nielsen : W3C James Gettys : DEC Anselm Baird-Smith: W3C.
Putting the Network to Work
Network. Add speed of light and speed in fiber Inspired by High Performance Browser Networking (Ilya Grigorik) Even Faster Web Sites (Steve Souders)
Performance, SEO, Accessibility Ivan Zhekov Telerik Corporation
IT 210 The Internet & World Wide Web introduction.
DEVELOPING FOR MOBILE Jackie Calapristi. AGENDA  Why you should go mobile  Mobile Design Options  Responsive Design  Tips & Tools to Help You Build.
Introduction The performance of web is getting important due to the fact that more and more services have been presented by web interfaces recently. Our.
 Zhichun Li  The Robust and Secure Systems group at NEC Research Labs  Northwestern University  Tsinghua University 2.
DNN Performance & Scalability Planning, Evaluating & Improving : Part 2.
Making your website go faster! Front-end Developer, Deeson Online Alli Price.
Building Highly Scalable Websites Karol Jarkovsky Sr. Solution Architect
Java Omar Rana University of South Asia. Course Overview JAVA  C/C++ and JAVA Comparison  OOP in JAVA  Exception Handling  Streams  Graphics User.
Global NetWatch Copyright © 2003 Global NetWatch, Inc. Factors Affecting Web Performance Getting Maximum Performance Out Of Your Web Server.
Web Overview The birth of Web: 1989 Now Web is about everything – Business (HR systems, e.g. NUHR) – Online Shopping (Amazon), Banking (Citibank, Chase)
Network Technologies essentials Week 9: Distributed file sharing & multimedia Compilation made by Tim Moors, UNSW Australia Original slides by David Wetherall,
Designing Web Applications Thaddeus Diamond CPSC 112.
Page Speed Bryan McQuade Richard Rabbat. Outline  What is Page Speed?  Inception of Page Speed  Cool features  Identify unused JavaScript and CSS.
Don't Let Third Parties Slow You Down Arvind Jain, Michael Kleber Google.
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.
Web Design (1) Terminology. Coding ‘languages’ (1) HTML - Hypertext Markup Language - describes the content of a web page CSS - Cascading Style Sheets.
PERFORMANCE ENHANCEMENT IN ASP.NET By Hassan Tariq Session #1.
Putting Performance Best Practices Together to Create the Perfect SPA Chris Love2Dev.com.
Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)
OPTIMISING USER INTERFACES FOR MOBILE COMPUTER ASSISTED INTERVIEWING DEVICES Prepared By Otyek Ronald James Uganda Bureau of Statistics Presented at the.
Case Study: Live Search – Moving to and then away from AJAX Eric Schurman Performance Development Lead Live Search Microsoft.
Web Technologies Lecture 7 Synchronous vs. asynchronous.
Restricted © Siemens AG All rights reserved A Developer’s Insights Into Performance Optimizations for Mobile Web Apps CT DC AA EM LP2 | June 2015.
IE Developer Tools Jonathan Seitel Program Manager.
An Analysis of Internet Content Delivery Systems 19 rd November, 2007 Youngsub CSE, SNU.
WHAT'S THE DIFFERENCE BETWEEN A WEB APPLICATION STREAMING NETWORK AND A CDN? INSTART LOGIC.
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.
History Before designing web pages it is important to know how it all came about… History Channel – The Invention of the Internet History Channel – The.
Whole Page Performance Leeann Bent and Geoffrey M. Voelker University of California, San Diego.
Search Engine and Optimization 1. Introduction to Web Search Engines 2.
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
THE FUTURE IS HERE: APPLICATION- AWARE CACHING BY ASHOK ANAND.
Enhance Your Page Load Speed And Improve Traffic.
Technology for Mobile Network Operators Business Case: Improve Overall Service Quality and Customer Experience While Dramatically Lowering Carrier Costs.
Business Case: Improve Overall Service Quality and Customer Experience
Time is the enemy: Ten Core Lessons for Achieving Peak
How Quick is QUIC? Peter Megyesi, Zsolt Kramer, Sandor Molnar
UI-Performance Optimization by Identifying its Bottlenecks
Preconnect, prefetch, prerender ...
Quick UDP Internet Connections
Episerver Performance A-Z
CSE 461 HTTP and the Web.
CS 4722 Computer Graphics and Multimedia Spring 2018
Yale Digital Conference 2019
Presentation transcript:

Demystifying Page Load Performance with WProf Aruna Balasubramanian With Xiao (Sophia) Wang, Arvind Krishnamurthy, and David Wetherall University of Washington

Web page loads are extremely critical Example: Amazon can increase 1% revenue by decreasing page load time by 0.1s. …but page load is often very slow

Web browsers are the de-facto standard of accessing the Internet

Page load is critical, but often slow Amazon can increase 1% revenue by decreasing page load time by 0.1s. Median page load time is 3 seconds. A few top pages take more than 10 seconds to load.

Many techniques aim to optimize page load time Best practices: JaveScript/CSS placement, Image minification, … Server placement: CDNs Web pages and cache: mod_pagespeed, Silo TCP/DNS: TCP fast open, ASAP, DNS pre-resolution, TCP pre-connect Application level: SPDY …, but optimizations don’t always work.

…because, page load bottlenecks are not well understood. Page load process is not strictly streamlined Page load activities are inter-dependent, leading to bottlenecks

Dependency example html b.js c.png html b.js c.png HTML depends on JS completion HTML does not depend on image loads

Example: Dependency and bottleneck html b.js c.png b.js c.png b.js Possible optimization: Make JS loads faster Dependency and page structure key are the key to identifying bottlenecks

Talk Overview Extract dependency policies WProf: Compute bottleneck for a given page structure Study page load on real pages

Page load primer

Page load primer index.html 1 2 3

Page load primer index.html 1 2 3

Page load primer index.html 1 2 3

Page load primer index.html Shared object

Page load primer index.html 1 2 3

Page load primer index.html

Methodology to infer dependencies o Design test pages o Examine documententation o Inspect browser code

img Test pages (1 of 2) HTML JSIMG html js Insert delays img html js Suggests the JS loads affects image load

Test pages (2 of 2) HTML IMGJS html js img html js img Insert delays Suggests image loads *does not* affect JS load

Reverse engineer page loads with test pages Use developer tools to measure timing HTML JSCSSIMG HTMLIMG An example Web page 8

Reverse engineer page loads with test pages Use developer tools to measure timing HTML JSCSSIMG HTMLIMG o An object follows another An example Web page 8

Reverse engineer page loads with test pages Use developer tools to measure timing HTML JSCSSIMG HTMLIMG o An object follows another o An object embeds another An example Web page 8

Dependency policies

Dependency policies across browsers DependencyIEFirefoxWebKit Outputallno O3 Late bindingall Eager bindingPreloads img, js, css Preloads css, js Net resource6 conn. O3: CSS downloads and evaluation block HTML parsing.

Overview Extract dependency policies WProf: Compute bottleneck for a given page structure Study page load on real pages

WProf architecture Web page instances Browser extension/plug-in framework Native browser Browser Stack

WProf architecture Web page instances Browser extension/plug-in framework Native browser Browser Stack WProf profiler Object Loader HTML Parser CSS Engine JavaScript Engine Rendering Engine

WProf architecture Web page instances Browser extension/plug-in framework Native browser Browser Stack WProf profiler Object Loader HTML Parser CSS Engine JavaScript Engine Rendering Engine Activity timing Dependen cies

WProf architecture Web page instances Browser extension/plug-in framework Native browser Browser Stack WProf profiler Object Loader HTML Parser CSS Engine JavaScript Engine Rendering Engine Activity timing Dependen cies Implementation - Built on WebKit - Extended in Chrome and Safari - Written in C++

WProf architecture Web page instances Browser extension/plug-in framework Native browser Browser Stack WProf profiler Object Loader HTML Parser CSS Engine JavaScript Engine Rendering Engine Activity timing Dependen cies Dependency graphs Bottleneck paths

Dependency graph

Critical path analysis Critical path: the longest bottleneck path.

Critical path analysis Critical path: the longest bottleneck path.

Critical path analysis Critical path: the longest bottleneck path.

Critical path analysis Critical path: the longest bottleneck path.

Critical path analysis Critical path: the longest bottleneck path.

Critical path analysis Critical path: the longest bottleneck path.

Critical path analysis Critical path: the longest bottleneck path.

Critical path analysis Critical path: the longest bottleneck path.

Critical path analysis Critical path: the longest bottleneck path.

Critical path analysis Critical path: the longest bottleneck path. Improving activities off the critical path doesn't help page load.

Overview Extract dependency policies WProf: Compute bottleneck of page structure Study page load on real pages

Experimental setup Locations o UW campus, DSL home, UMass campus Browser o WProf-instrumented Chrome Web pages o 150 out of top 200 Alexa pages Page load time o Minimum out of 5 repeats

How much does the network contribute to page load time?

Computation is significant Network/Computation as a fraction of page load time Network Computation

Computation is significant Network Computation Computation is ~35% of page load time (median) on the critical path.

How much does caching help page load performance?

Caching eliminates 80% Web object loads It doesn't reduce page load time as much How much does caching help? Caching only eliminates 40% Web object loads on the critical path

Conclusion Understanding bottleneck is key to improving the page load process WProf extracts page load bottlenecks at scale WProf has potential to improve existing page load optimization techniques Website: wprof.cs.washington.edu

Overview Extract dependency policies Compute bottleneck performance path Study page load on real pages What next?

What next with WProf? How speedy is SPDY? What about mobile browsers?

What is SPDY? Replacement HTTP protocol by Google o Adopted by Twitter, Amazon, Facebook,… o Basis for HTTP/2 Key ideas: o Multiplex HTTP over a single TCP o Header compression o Server push*

Is SPDY really speedy? SPDY on Google’s production server Our lab experiments

Where we wrong? SPDY performance depends on many factors o Google tunes many many parameters. Comparing CDF across web pages insufficient o Need to compare load times per web page …, but there is too much variation in page load time

SPDY performance can vary across pages (and is variable) Flag page Twitter

Reduce variability using WProf Epload tool o Emulate page load process o Include dependencies, but keep computation constant. o Systematically experiment under varying conditions.

SPDY helps a lot, but can also hurt. Performance varies with network. SPDY helps SPDY hurts 10ms RTT, 100 Mbps bandwidth 100ms RTT, 100 Mbps bandwidth SPDY hurts SPDY helps

How to make SPDY better? Align TCP behavior with SPDY Use server push feature with WProf dependencies

Backup slides

Does computation (e.g., HTML parsing, JavaScript evaluation) continuously happen?

Network downloads often block parsing 60% top pages have parsing-blocking JavaScript. Fractions of network time to total page load time

Tools to understand page load Firebug: a "waterfall" graph of twitter.com Other tools o WebProphet, Google Pagespeed Insights Why is the request made at this time, not earlier? What is the composition of page load time?

Many techniques aim to optimize page load time Example: CSS image sprites o Merging small images into a big one o Unclear how much it helps because images are fetched in parallel Elapsed time A big imageMany small images Elapsed time... Page load time using a big image Page load time using small images 3

Caching doesn't help performance as much as # reduced objects # objects reduced due to hot loads Caching reduced 80% Web objects in overall, but only 40% on the critical path. 23