+ All Categories
Home > Technology > The Critical Path to Performance: User Journeys

The Critical Path to Performance: User Journeys

Date post: 14-Jan-2015
Category:
Upload: keynote-systems
View: 1,212 times
Download: 1 times
Share this document with a friend
Description:
Presented at Velocity conference, Santa Clara, 2013. Understand web performance from the user journey perspective. Case studies explore performance issues unique to multi-step or multi-page web transactions, and measurement approaches for identifying issues and monitoring ongoing performance. Synthetic and RUM discussed.
Popular Tags:
19
The Critical Path to Web Performance Focusing on User Journeys
Transcript
Page 1: The Critical Path to Performance: User Journeys

The Critical Path to Web

Performance Focusing on User Journeys

Page 2: The Critical Path to Performance: User Journeys

Today’s Talk

Performance matters… always?

everywhere?

The nexus of business performance and

user journeys

When good transactions can go bad

The next frontier: real user journeys

Real user transaction performance:

Keynote’s perspective

Top of the World by Izzard, on Flickr

Page 3: The Critical Path to Performance: User Journeys

http://www.mit.edu/~velten/press/content/videos/bottlefast.mov

Page 4: The Critical Path to Performance: User Journeys

Site Performance From the User Perspective

Physical Psychological

Keynote Mobile User Study, 2012

Page 5: The Critical Path to Performance: User Journeys

Site Performance = Business Efficiency

http://kylerush.net/blog/meet-the-obama-campaigns-250-million-fundraising-platform/ http://blog.mozilla.org/metrics/2010/04/05/firefox-page-load-speed-%E2%80%93-part-ii/ SFSV WebPerformance Group 20120216 - Walmart RUM

60% faster ->

14% improvement in

donation conversions

Average page load for converted

population is 47% faster than the

average for non-converted

2.2 sec reduction in page load ->

15% in download conversions

Page 6: The Critical Path to Performance: User Journeys

Measuring Speed to Transaction

Keynote Brokerage Performance Index http://www.keynote.com/keynote_competitive_research/performance

_indices/broker_index/broker.html

Page 7: The Critical Path to Performance: User Journeys

Broken bridge by Klobetime, on Flickr

Page 8: The Critical Path to Performance: User Journeys

Cache Header Settings

The fastest way to load an asset onto a web

page is to not have to make a network

request for it at all

- Cache header settings enable a web browser to use an

element out of the browser cache with confidence that

the copy is still “fresh”

- Without appropriate headers, or with misconfigured

headers, the browser must send a conditional HTTP

request to the server to see if the element can be used

from cache or if a fresh copy needs to be sent instead

HTTP 304 Not Modified responses are an

indicator that cache headers are harming

page load performance

A case study

- A site home page loads 8 JPEG images that are used on

other pages on the site

- All are static images served from a very fast server

- If only the Home Page is viewed, the performance of

these images is quite fast

- However, if a site visitor explores the site, these same

images are used in the design of other pages

- The cache header settings are not set properly

- Conditional requests are made

- The browser ends up using the elements out of cache

Page 9: The Critical Path to Performance: User Journeys

Cache Header Settings

On a multi-page transaction through this

site, the Features & Options page has two

conditional HTTP requests

- Result in HTTP 304 Not Modified responses

- Caused by cache header problems

- In this case, the two assets load early in the page,

so the extra delays are potentially impacting the

user experience of other content on the page

Home Page

Features & Options

Page 10: The Critical Path to Performance: User Journeys

Cache Header Settings

In this case, an image that should be cacheable was accidentally

set with a Cache-Control header “private” and “max-age=0”

- There is nothing special about this image – it is simply a gradient used for

background shading

- This misconfigured header causes unexpected and unnecessary delay

Features & Options

Page 11: The Critical Path to Performance: User Journeys

Data URIs

Data URIs are a great way to improve

performance, especially for mobile

websites

- Each asset encoded as a data URI avoids an HTTP

request-response round trip over the internet

- Not only does this avoid latency, but it reduces the number of

bytes transferred in HTTP headers

- In the case of a secure page, the site may avoid having

to establish an additional SSL connection

- The limited number of parallel threads/downloads in the

browser can be used to load other assets more quickly

A case study

- Products page had been loading 17 PNG image files

- Small thumbnail images of products in current

inventory

- All were replaced with data URIs in the base page

HTML response

- The performance of the Products page improved, albeit

slightly

- These same thumbnail images, however, were being

used on other pages on the site, including a page that

lets you design a custom version of the products

Page 12: The Critical Path to Performance: User Journeys

Changes to the Products page

The structure of the Products page changed significantly in March

- Although the overall number of assets on the page has not substantially changed, most page content is now being

loaded in data URIs returned in the initial base page response

- One external PNG and one Omniture call load separately

- Ensuring the consistency of the ASPX response time is now critical

Products

New York AT&T

Apple iPhone 4

Data URIs

Products

San Francisco AT&T

Apple iPhone 4

Page 13: The Critical Path to Performance: User Journeys

Customize Your Product Page Was Not Changed

The structure of the Customize Your Product page changed significantly in March

- Prior to March 22, there were only five new HTTP requests

- Most page content (including the 17 PNG image files) was already in the in-session browser cache

- Starting on March 22, with the change to the Products page, many new HTTP requests now have to be made

Customize Your Product

San Francisco Verizon

Motorola Droid X

Customize Your Product

San Francisco Sprint

HTC TouchHD

Page 14: The Critical Path to Performance: User Journeys

Data URIs – Tradeoffs

We can see the tradeoff in the high-speed, low-latency network connection data

- Many small product thumbnail images were loaded as data URIs, encoded directly in to the base page HTML

response

- This has improved the performance of the Products page

- However, the Customize Your Product page, which was using many of the same images directly out of the in-session

browser cache, is now slower on average

Products

LAN

Customize Your Product

LAN

Page 15: The Critical Path to Performance: User Journeys

Real Users Aren’t Robots

Synthetic tests have draw-backs

- Fixed number of “agent” locations and browser types/versions

- Last mile performance measurement can be expensive

- Website visitors take detours

- What are the most common paths being traversed by actual

users?

- What is the performance of those paths?

- When an issue is identified, its impact to actual users is unknown

- Scripts can only generate a limited variability of interactions

- Scripts need maintenance

Page 16: The Critical Path to Performance: User Journeys

Real User Monitoring to the Rescue!

Browser RUM can help fill in the gaps

- Reveals actual user impact when slow downs occur

- Last mile performance, across all browsers used

- Inclusive of all the variations in visitor paths and behavior

- No scripting!

Not so fast…

- Noise

- Resource level detail

Page 17: The Critical Path to Performance: User Journeys

Better Together

RUM + synthetic complement each other

- Page performance anomaly detection and diagnosis

- Drill from RUM browser events at the page level to

waterfalls generated by corresponding synthetic tests

- User impact assessment

- Quantify real user population impacted by performance

issues identified in synthetic tests

- Synthetic test optimization

- Identify high usage, low performance pages to monitor

synthetically

- Optimize “agent” locations

- Identify high usage user path variations to monitor

synthetically Splash! by jfournierphoto, on Flickr

Page 18: The Critical Path to Performance: User Journeys

Keynote’s Approach

Hybrid Synthetic + RUM

- Browser-based real user monitoring

- “Model” transactions

- Real user paths

- Fuzzy logic pattern matching

- Comparative analysis

- Demo: Real User Perspective


Recommended