Transcript
Page 1: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

Waterfall AntiPatterns

Google Developers LiveJune 13, 2013

Rick ViscomiWeb Developer, YouTube

Page 2: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

Web Performance

Page 4: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

1 2 3 4 5 6 7 8 9

9 runs

Median Selection

1 2 3 4 5 6 7 8 9 10

10 runs

Page 5: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

1 2 3 4 5 6 7 8 9

9 runs

Median Selection

1 2 3 4 5 6 7 8 9 10

10 runs

Page 8: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

Waterfall AntiPatterns

Page 9: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

Anatomy of a Request

● DNS Lookup● Initial Connection● SSL Negotiation● TTFB● Content Download

Page 10: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

HTTP Responses: Redirects

● 301 Moved Permanently● 302 Found

Page 11: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

HTTP Responses: Not Modified

● Conditional GET

● Cache static content with long TTL○ Cache-Control: max-age=31536000

Last-Modified: Thu, 13 Jun 2013 15:17:34 GMT

● Cache busting○ style_20130614.css

Page 12: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

HTTP Responses: Errors

● 404 Not Found

Extra Credit: What happened here?

Page 14: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

Navigation Timing

● domContentLoaded* (document.ready)● Start Render (first paint)● loadEvent* (onload)● Document Complete (loadEventStart)* Chrome and Firefox only

Page 15: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

Navigation Timing

Page 16: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

Navigation Timing

Page 17: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

Navigation Timing

Page 18: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

Request Serialization

● "stair step" pattern

● many requests

● few connections○ 2 - 6

● HTTP 2.0?

Page 19: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

Request Serialization

Connection View

cssjavascriptimagesflash

Page 20: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

Request Serialization

Connection View

cssjavascriptimagesflash

Page 21: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

Closed Connections

● TCP overhead

● Enable Keep-Alive

Page 23: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

Summary

● waterfall slope● request components● HTTP responses

○ redirects○ conditional GETs○ errors

● page load events● request concurrency● network utilization

Page 24: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

Preview: Worst of WebPagetest

● 46 requests○ 5 successful

● 21 seconds to Start Render

● 30% gzip savings

www.aplia.com

Page 25: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

Preview: Worst of WebPagetest

● 443 requests

● 8,000 DOM elements

● 1.6 MB of JavaScript

● 75 unique domains

coder143.com

Page 26: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

Preview: Worst of WebPagetest

● 2 MB page weight

● 26 second load time

● 17 second repeat view

www.taboradelaide.edu.au/

Page 27: Google Developers Live: Waterfall AntiPatterns - Web Performance Analysis

Preview: Worst of WebPagetest

● 1.4 seconds to first byte

● 4.3 seconds of orange

● 84% images or JS

comoeliminarlasestrias.org


Top Related