web compatibility and performance testing in a multi-browser world

27
Web Compatibility and Performance Testing in a Multi-Browser World Imad Mouline, CTO, Gomez (@imadmouline) Buddy Brewer, Director of Engineering, Agent Technology, Gomez (@bbrewer)

Upload: compuware-apm

Post on 25-May-2015

3.036 views

Category:

Technology


3 download

DESCRIPTION

This presentation was given at the 2009 AJAX Experience Conference by Gomez's CTO Imad Mouline and Director, Agent Technology.Today’s browser diversity brings new challenges to Web designers and developers. JavaScript loads and performs differently across browsers such as Internet Explorer 7 and 8, Firefox, Safari and Chrome, and can lead to inconsistent content rendering, poor Web performance, and frustrated end-users. Traditional methods for Web performance testing and monitoring cannot find and diagnose browser-specific, client-side performance problems. This session was designed to help developers learn how to:• Improve content rendering across multiple browsers and operating systems• Understand and improve object load order, browser by browser• Ensure that third-party content doesn’t degrade client-side performance• Realistically preview performance under load in each browser.

TRANSCRIPT

Page 1: Web Compatibility and Performance Testing in a Multi-Browser World

Web Compatibility and Performance Testing in a Multi-Browser World

Imad Mouline, CTO, Gomez (@imadmouline)

Buddy Brewer, Director of Engineering, Agent Technology, Gomez (@bbrewer)

Page 2: Web Compatibility and Performance Testing in a Multi-Browser World

Agenda

• The problem and the upside

• Functional validation across browsers

• Performance optimization across browsers

• Raw vs. perceived performance

• Key takeaways and Q&A

Page 3: Web Compatibility and Performance Testing in a Multi-Browser World

The Problem

• Building applications is more complex

• Developers now support an interrelated

mess of technologies that differ from

browser to browser

• Networking stack

• JS engine

• Rendering technologies (CSS, Canvas, SVG)

Page 4: Web Compatibility and Performance Testing in a Multi-Browser World

The Upside

• Browsers provide better performance, richer

functionality

• The rate of change is accelerating, with

competition between vendors leading to

massive gains in performance

Page 5: Web Compatibility and Performance Testing in a Multi-Browser World

How?

• We need to understand how our applications

perform in real browsers on the real network

• We need to know both what users encounter

and what they perceive

Page 6: Web Compatibility and Performance Testing in a Multi-Browser World

Asymmetric Advantages of Modern Browsers

• Dramatically faster JS engines

• Greater connection parallelism

• Client side storage

• Native CSS selectors

• 2D compositing (Canvas, SVG)

Page 7: Web Compatibility and Performance Testing in a Multi-Browser World

Testing Presentation

• Bespin determines browser Canvas support

at runtime

• Which browsers provide adequate support?

Page 8: Web Compatibility and Performance Testing in a Multi-Browser World

Yes: Firefox 3.5, Safari 4

Page 9: Web Compatibility and Performance Testing in a Multi-Browser World

No: Firefox 2, Safari 3, Any IE

Page 10: Web Compatibility and Performance Testing in a Multi-Browser World

Maybe: Chrome

Page 11: Web Compatibility and Performance Testing in a Multi-Browser World

Functional Validation

• As new versions ship, do the expected

browsers still work?

• As new browsers are released, do our

applications still work?

Page 12: Web Compatibility and Performance Testing in a Multi-Browser World

Revisiting Performance Optimization

• Are our old techniques still relevant as the

browsers we target evolve?

• Example: Domain sharding

• Legacy browsers allow 2 connections per hostname

• Domain sharding increases parallelism to boost

static object performance via pointing multiple

hostnames to the same host

Page 13: Web Compatibility and Performance Testing in a Multi-Browser World

Optimizing IE6 Behavior

• For older browsers, this could represent an

easy 50% load time savings

Page 14: Web Compatibility and Performance Testing in a Multi-Browser World

Optimizing IE6 Behavior

• What’s the catch?

Page 15: Web Compatibility and Performance Testing in a Multi-Browser World

De-optimizing IE8 Behavior

• In IE8 (and Firefox and Safari and Chrome) using

domain sharding leads to a glut of simultaneous

connection creation and a dramatic performance hit

Page 16: Web Compatibility and Performance Testing in a Multi-Browser World

Lessons

• Optimization techniques must evolve along

with the browsers

• So, performance testing should take into

account browser differences

• And to do that, we need to know what

browsers are visiting our site

Ryan Breen
Maybe talk here about the different techniques we can use, potentially serving different optimizations to different browsers, rolling back optimizations once a certain % of our users are on modern browsers, etc
Page 17: Web Compatibility and Performance Testing in a Multi-Browser World

▪ Difference between quickest and slowest browser load time equals 13.226 seconds

▪ Large sample of US end-users, on broadband connections, visiting a particular page on a web site over a 48 hour period

Performance Differences by Browser

Page 18: Web Compatibility and Performance Testing in a Multi-Browser World

▪ Load time for MS Internet Explorer higher than Firefox▪ Perceived render time for MS Internet Explorer lower than Firefox

▪ Perceived render time is the amount of time needed for the page layout to stabilize and for all content visible to the end-user above the fold to be completely rendered

Load Time vs. Perceived Render Time

Page 19: Web Compatibility and Performance Testing in a Multi-Browser World

Optimizing Perceived Render Time & User Experience

• Most prominent

image on site loads

almost last

• Changing load order

will not impact raw

page performance,

but will improve

perceived render

time and user

experience

Page 20: Web Compatibility and Performance Testing in a Multi-Browser World

What is the download order?

Page 21: Web Compatibility and Performance Testing in a Multi-Browser World

Factors that impact object download order

• Browser type / version

• Host latency, concurrency differences

• Geography

• Geography???

Page 22: Web Compatibility and Performance Testing in a Multi-Browser World

San Jose

Page 23: Web Compatibility and Performance Testing in a Multi-Browser World

Boston

Page 24: Web Compatibility and Performance Testing in a Multi-Browser World

Page Load TimeCache Level

Browser Cache Impact

Page 25: Web Compatibility and Performance Testing in a Multi-Browser World

Takeaways – Summary

• Know your end-users

• Identify where and how they use your application, how

they connect to the network, when they do it, where

they do it from, what browser they use, etc…

• Deliver on their expectations

• Know your entire application

• Build performance into your process

• Improve raw, workflow, and perceived performance

• Continuously evaluate your performance targets

• Measure what matters

• Measure from your end-users’ perspective

• Align your end-users’ web experience with your

requirements and ultimate business goals

Page 26: Web Compatibility and Performance Testing in a Multi-Browser World

Please complete an evaluation.

Page 27: Web Compatibility and Performance Testing in a Multi-Browser World

Questions?