Why Mobile Performance is Hard



Similar documents
Front-End Performance Testing and Optimization

WompMobile Technical FAQ

QUIC. Quick UDP Internet Connections. Multiplexed Stream Transport over UDP. IETF-88 TSV Area Presentation

Testing & Assuring Mobile End User Experience Before Production. Neotys

ATIS Open Web Alliance. Jim McEachern Senior Technology Consultant ATIS

Update logo and logo link on A Master. Update Date and Product on B Master

Moore s Law and Network Optimization

Speed up your web site. Alan Seiden Consulting alanseiden.com

Cryptography for Software and Web Developers

INFORMATION TECHNOLOGY STANDARD

HTML5 the new. standard for Interactive Web

Results-Oriented Application Acceleration with FastView Because Every Second Counts Whitepaper

Accelerating Wordpress for Pagerank and Profit

FIVE WAYS TO OPTIMIZE MOBILE WEBSITE PERFORMANCE WITH PAGE SPEED

HTTP/2: Operable and Performant. Mark

SiteCelerate white paper

Web Performance. Lab. Bases de Dados e Aplicações Web MIEIC, FEUP 2014/15. Sérgio Nunes

How To Optimize Your Website With Radware Fastview

An Overview of Amazon Silk Amazon s new cloud-powered browser

Performance Report for: Report generated: Friday, April 24, 2015, 7:29 AM (via API)

Dynamic Content Acceleration: Lightning-Fast Web Apps with Amazon CloudFront and Amazon Route 53

Low Cost, High Performance, Strong Security: Pick Any Three. Chris Palmer isec Partners

A Tool for Evaluation and Optimization of Web Application Performance

Research of User Experience Centric Network in MBB Era ---Service Waiting Time

Web Conferencing Version 8.3 Troubleshooting Guide

Website Performance: Kyle Simpson

Web Tracking for You. Gregory Fleischer

Mobile Application Performance

Using Steelhead Appliances and Stingray Aptimizer to Accelerate Microsoft SharePoint WHITE PAPER

Accelerating Mobile Access

Mobile Application Performance Report

Measuring CDN Performance. Hooman Beheshti, VP Technology

Key Components of WAN Optimization Controller Functionality

HTML5 & Digital Signage

Understanding Slow Start

HTTP. Internet Engineering. Fall Bahador Bakhshi CE & IT Department, Amirkabir University of Technology

: Application Layer. Factor the Content. Bernd Paysan. EuroForth 2011, Vienna

networks Live & On-Demand Video Delivery without Interruption Wireless optimization the unsolved mystery WHITE PAPER

Blue Coat Security First Steps Solution for Deploying an Explicit Proxy

A BASELINE FOR WEB PERFORMANCE WITH PHANTOMJS

Advantage for Windows Copyright 2012 by The Advantage Software Company, Inc. All rights reserved. Internet Performance

Mobile Performance Testing Approaches and Challenges

RICE UNIVERSITY. Speeding Up Mobile Browsers without Infrastructure Support. Zhen Wang. Master of Science

An Analysis of the SPDY Protocol and the SPDY Proxy

Drupal Performance Tuning

Modern snoop lab lite version

Configuration Guide. BES12 Cloud

Addressing Mobile Load Testing Challenges. A Neotys White Paper

STeP-IN SUMMIT June 2014 at Bangalore, Hyderabad, Pune - INDIA. Mobile Application Performance: Test Strategies & Enhancement through WPO

80+ Things Every Marketer Needs to Know About Their Website

Configuring Citrix NetScaler for IBM WebSphere Application Services

Chapter 6 Virtual Private Networking Using SSL Connections

High Availability HTTP/S. R.P. (Adi) Aditya Senior Network Architect

Browser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best!

GoToMyPC Corporate Advanced Firewall Support Features

CS 188/219. Scalable Internet Services Andrew Mutz October 8, 2015

Simple Tips to Improve Drupal Performance: No Coding Required. By Erik Webb, Senior Technical Consultant, Acquia

making drupal run fast

Agile Web Application Testing

DATA COMMUNICATOIN NETWORKING

GLOBAL SERVER LOAD BALANCING WITH SERVERIRON

Measuring Perceived Performance with Navigation Timing

DOCUMENT REFERENCE: SQ EN. SAMKNOWS TEST METHODOLOGY Web-based Broadband Performance White Paper. July 2015

Internet Content Distribution

Project #2. CSE 123b Communications Software. HTTP Messages. HTTP Basics. HTTP Request. HTTP Request. Spring Four parts

Is preventing browser fingerprinting a lost cause?

AJAX: Highly Interactive Web Applications. Jason Giglio.

Computer Networks Homework 1

INUVIKA OPEN VIRTUAL DESKTOP FOUNDATION SERVER

Web Performance. Sergey Chernyshev. March '09 New York Web Standards Meetup. New York, NY. March 19 th, 2009

Streaming Stored Audio & Video

Optimize Your Microsoft Infrastructure Leveraging Exinda s Unified Performance Management

Proxies. Chapter 4. Network & Security Gildas Avoine

DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP System v10 with Microsoft IIS 7.0 and 7.5

Flywheel: Google s Data Compression Proxy for the Mobile Web

Evaluation and Optimization of Web Application Performance Under Varying Network Conditions

Using IPM to Measure Network Performance

Multimedia Transport Protocols for WebRTC

PARCEL: Proxy Assisted BRowsing in Cellular networks for Energy and Latency reduction

STeP-IN SUMMIT June 2014 at Bangalore, Hyderabad, Pune - INDIA. Mobile Performance Testing

85.1. Review of google.com. Your website score. Generated on Introduction. Table of Contents SEO. Iconography Pass

Combining Global Load Balancing and Geo-location with Emissary TM

Internet Content Distribution

Simply type the id# in the search mechanism of ACS Skills Online to access the learning assets outlined below.

Request Routing, Load-Balancing and Fault- Tolerance Solution - MediaDNS

Global Internet Phenomena Spotlight: Encrypted Internet Traffic

Developing ASP.NET MVC 4 Web Applications MOC 20486

CS514: Intermediate Course in Computer Systems

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

Building a Simple Mobile optimized Web App/Site Using the jquery Mobile Framework

Lecture 33. Streaming Media. Streaming Media. Real-Time. Streaming Stored Multimedia. Streaming Stored Multimedia

1. Right click using your mouse on the desktop and select New Shortcut.

Taming the Mobile Beast

CDN and Traffic-structure

Test Run Analysis Interpretation (AI) Made Easy with OpenLoad

Distributed Systems. 23. Content Delivery Networks (CDN) Paul Krzyzanowski. Rutgers University. Fall 2015

Maximizing Performance with SPDY & SSL. Billy Hoffman

Distributed Systems. 25. Content Delivery Networks (CDN) 2014 Paul Krzyzanowski. Rutgers University. Fall 2014

Empowering Developers to Estimate App Energy Consumption. Radhika Mittal, UC Berkeley Aman Kansal & Ranveer Chandra, Microsoft Research

Transcription:

Matt Welsh mdw@google.com Google, Inc. http://www.flickr.com/photos/nao-cha/2660459899/ Why Mobile Performance is Hard

In a nutshell: Despite 20 years of research and engineering, mobile performance still sucks Networking advancements (e.g., LTE) help but do not solve the problem Need to start thinking end-to-end, not just about latency and bandwidth A tour through some of the big, hard problems we still face

Case study: Mobile web page load times

Visualizing a mobile web page load (brown.edu) Each row is a resource (HTML, JS, CSS, image) Shaded bar indicates time to download the resource Status code, domain, size

Visualizing a mobile web page load (brown.edu) Each row is a resource (HTML, JS, CSS, image) Shaded bar indicates time to download the resource Status code, domain, size DNS TCP Waiting Receiving Lookup Connect for response response

Visualizing a mobile web page load (brown.edu) 75 seconds!

brown.edu's mobile home page 124 KB, 1800 x 800 background image that is completely obscured

The web was not designed for mobile: High RTTs Mismatch between HTTP, TCP, and 3G/4G technologies Poorly tuned browsers running on slow CPUs with limited memory Badly designed pages that fail to account for limited device capabilities Lack of good tools to measure mobile web performance

You can t fix what you can t measure

How can we measure mobile performance?

How can we measure mobile performance?

How can we measure mobile performance? Fan Lots of phones HDMI capture Desktops to drive phones

How can we measure mobile performance? Anritsu MD8470A Signaling Tester

How can we measure mobile performance? Anritsu MD8470A Signaling Tester

How can we measure mobile performance? Anritsu MD8470A Signaling Tester 0 0,0 $ 0 0 5

How can we measure mobile performance?

Mobile measurement at scale: Chrome User Metrics

Chrome User Metrics Chrome collects anonymous data on hundreds of performance metrics from users who opt in: - page load times, DNS lookups, TCP connections, cache and graphics performance, SSL, you name it... check out chrome://histograms to see your own data

Global performance trends, as measured by Chrome TCP connection latency, ms

What does 200 ms RTT look like? Distance traveled in 100 ms: 30,000 km Diameter of earth: 12,742 km

Global performance trends, as measured by Chrome Page load time, ms

Global performance trends, as measured by Chrome Page load time, ms

Delivering optimizations at scale

SPDY - a replacement for HTTP Already built into Chrome, Firefox, Opera, Kindle Fire. You probably use it every day. Key features: Use a single TCP connection and multiplex multiple requests/responses Out-of-order responses: no more head-of-line blocking Header compression: Eliminates ~85% of headers Server-initiated resource push Baseline for the HTTP/2.0 standard being developed by IETF.

QUIC - Quick UDP Internet Connections New transport protocol based on UDP Multiple sessions multiplexed over a single UDP stream Packet pacing and FEC to reduce data loss Customizable congestion control Zero-RTT connection establishment (send hello + request back to back) More: http://blog.chromium.org/2013/06/experimenting-with-quic.html

Chrome network stack optimizations DNS preresolution: Keep track of top 10 domains you visit, DNS resolve them at startup TCP preconnect: Pre-resolve and pre-connect to most common domains on a page Omnibox preloading: Resolve DNS and TCP connections as you type into the omnibox Resource prefetching: Use <link rel= prefetch > and <link rel= subresource > hints in pages Page prerendering: Render entire page in the background as you type in the omnibox

Chrome Mobile data compression Goal: Optimize page load times, while saving users money Can t fix every website on the planet, so provide a free proxy service to optimize sites instead. Proxy only HTTP (not HTTPS or Incognito tabs)

Optimizations Compress images to WebP format Reduce image resolution and quality (slightly) Minify JavaScript and CSS Gzip everything Deliver all page content via SPDY Cache web content in Google s datacenters These techniques result in 50% compression on average

Some of the challenges we face... Proxying the whole web is not easy. (Or cheap.) Not all websites do proper geolocation using the X-Forwarded-For header (French news site redirects you to English version) Stripping JS comments broke rendering on a site (Using JS comments as a fingerprint of site content) Using SPDY converts headers to lowercase (One site relied on case-sensitive header match to work) Yelp initially (erroneously) blocked our traffic (Looks like clickspam from Google)

What the mobile research community should work on

Understanding how apps interact with the network Why does a YouTube playback stall over a fast LTE connection? Why does doing a Google search take so long on cellular? How does Ajax calls on a web page interact with 3G RRC behavior? How do handoffs impact app performance? Not enough to just look at the network: Need to look cross layer.

Why doesn t my phone last all day? Lots of good work on energy management. Some of this work assumes you can modify every app -- ain t gonna happen. Tons of inefficiency between the apps, OS, and network stack. Screen and network are the main sources of energy drain. (Not CPU.) Solutions have to work in the real world: Not just in the lab. (Not OK to black out half the screen while watching a video )

Where is my data and who has access to it? Cell phones are basically tracking devices. e.g., Google aggregates anonymous GPS data from many users to build real-time traffic maps. But many apps are more nefarious: Stealing personal information, phone numbers, contacts, photos, location,... Mobile researchers: Please stop spying on users for the purpose of doing research studies. (Read up on human subjects and IRB requirements at your university.)

What should the web look like 10 years from now? The web is primarily a mobile platform. But web pages are primarily designed for desktop users. Not enough overlap between the web dev and mobile research communities. Web devs get excited about things like using sockets from JavaScript. Given the tremendous capabilities of mobile devices, what should the web really look like, if you designed it for 10 years from now? Are we still going to be loading web pages in tabs and using bookmarks to access URLs?

Thank You! mdw@google.com