8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
1/134
Web Performance Optimization (WPO)Web Content Optimization (WCO)Web Code Optimization (WCO)
Web Transformation (WT)Front end performance Optimization (FEO)
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
2/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 2
Agenda
IntroductionWhat is performance automation
Basic terminology and concepts
Automation at work
Performance stats and Case Studies
Market overview
Q&A-
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
3/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 3
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
4/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 4
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
5/134
Web Performance
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
6/134
Making sites faster
without changing code
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
7/134
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
8/134
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
9/134
www.strangeloopnetworks.com 9 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 9
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
10/134
www.strangeloopnetworks.com 10 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 10
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
11/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 11
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
12/134
12 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 12
Waterfall chart
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
13/134
13 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 13
Waterfall chartHTML
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
14/134
14 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 14
Waterfall chart
Resources
HTML
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
15/134
15 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 15
Waterfall chartStart
RenderDocument
CompleteFullyLoaded
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
16/134
16 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 16
Waterfall component breakdown
DNSlookup
DNS Lookup
Takes one packet in eachdirection
Time is limited to the latency ofthe connection(DSL/Cable/etc) for thesingle round trip
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
17/134
17 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 17
Waterfall component breakdown
TCPConnectio
nTCP Connection
3 packets
- Client Server (SYN)- Server Client (SYN/ACK)- Client Server (ACK)
Time is limited to the latency ofthe connection(DSL/Cable/etc) for thesingle round trip
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
18/134
18 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 18
Time ToFirst
ByteTime to First Byte
Time from the request packet(usually 1) to the first packetof the response
Includes the latency of theconnect ion(DSL/Cable/etc) for a singleround trip
Also includes whatever serverthink time was involved ingenerating the response
Waterfall component breakdown
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
19/134
19 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 19
ContentDownload
Download
Time it takes for the entirecontent of the response toget to the browser
Mostly limited by the bandwidthlimit of the connection(DSL/Cable/etc)
Waterfall component breakdown
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
20/134
20 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 20
First view vs Repeat View
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
21/134
21 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 21
Concurrency
Blocking
Concurrent
Concurrency
Blocking script don't let thebrowser use available resources(network, connections, etc) tofetch more content from theserver
The overall page load time andrender time are both affectednegatively)
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
22/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 22
Case Study: Automation in action
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
23/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 23
Methodology
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
24/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 24
Lets Automate
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
25/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 25
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
26/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 26
A Few Points of Clarification
Well use it to describe where performance painpoints are, but that doesnt mean the pageactually has these problems
What were going to do:
Not sogood(slow)
Awesome(fast)
Improve performance incrementally
* The real Velocity site is somewhere in the middle!
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
27/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 27
Performance Summary
http://bit.ly/au01VY/
http://bit.ly/au01VYhttp://www.webpagetest.org/result/100614_aacdab746259dd7c89dfe994c1997d3b/http://www.webpagetest.org/result/100614_aacdab746259dd7c89dfe994c1997d3b/http://bit.ly/au01VY8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
28/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 28
Waterfall
First View Repeat View
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
29/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 29
Per Object
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
30/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 30
Content Analysis by Type
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
31/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 31
Content Analysis by Domain
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
32/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 32
Show Me Where It Hurts
Problem Analysis
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
33/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 33
Performance Problems
Too many connections (too much orange)
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
34/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 34
Too Many Connections
97 Connections(almost one per request)
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
35/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 35
Too Many Connections
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
36/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 36
Performance Problems
Too many connections (too much orange)
Too many bytes (too much blue)
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
37/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 37
Too Many Bytes
By Type By Domain
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
38/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 38
Performance Problems
Too many connections (too much orange)
Too many bytes (too much blue)
Concurrency
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
39/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 39
Concurrency
Browsers can only open and use so manyconnections at once
www.browserscope.org
http://www.browserscope.org/http://www.browserscope.org/8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
40/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 40
Performance Problems
Too many connections (too much orange)
Too many bytes (too much blue)
Concurrency
Bad Caching for repeat views
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
41/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 41
Bad Repeat View
Full Fetches
Validation
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
42/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 42
Bad Repeat ViewConnections Bytes
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
43/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 43
Performance Problems
Too many connections (too much orange)
Too many bytes (too much blue)
Concurrency
Bad Caching for repeat views
No CDN (the greens are too big)
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
44/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 44
The Green Problem #1: No CDNTTFB
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
45/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 45
Performance Problems
Too many connections (too much orange)
Too many bytes (too much blue)
Concurrency
Bad Caching for repeat views
No CDN (the greens are too big)
Too Many Roundtrips (too many greens)
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
46/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 46
The Green Problem #2: Roundtrips
First View Repeat View
80Requests
27 Requests
78Requests
14 Requests
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
47/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 47
The Green Problem #2: Roundtrips
Every fetch still pays the HTTP overhead penaltyTTFB is still a problem
Exacerbated by concurrency issues
Getting worse as number of objects per page
grows Generally, the hardest problem to solve
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
48/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 48
Performance Problems
Too many connections
Too many bytes (too much blue)
Concurrency
Bad Caching for repeat views
No CDN (the greens are too big)
Too Many Roundtrips (too many greens)
Others
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
49/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 49
Examples of Other Problems
Blocking Javascript
3rd party calls (http://stevesouders.com/p3pc/)
http://stevesouders.com/p3pc/http://stevesouders.com/p3pc/8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
50/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 50
Summary
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
51/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 51
Lets Fix It!!
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
52/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 52
Set-Up
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
53/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 53
Testing Environment
AutomationSERVICE (CLOUD)
WebPageTest Client(East Coast)
OReilly Datacenter(West Coast)
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
54/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 54
Acceleration Methodology
S
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
55/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 55
Stepwise Acceleration
Start from the beginning and fix the easy stuff
Step by step acceleration of the page
Apply techniques/methods/etc and see the result
Try to make it as fast as possible
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
56/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 56
Step 1:
Low Hanging Fruit
K Ali
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
57/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 57
Keep-Alive
Solves the too-many connection problem (LessOrange!)
Will help alleviate the TCP connection setupoverhead
97Connections
C i
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
58/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 58
Compression
Addresses the too-many-bytes problem (LessBlue!)
Well compress textual content (html/css/etc)
Not the only solution to less blue, but the easiest
W bP T t
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
59/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 59
WebPageTest
http://bit.ly/cKkjGz
B f d Aft
http://bit.ly/cKkjGzhttp://bit.ly/cKkjGzhttp://bit.ly/cKkjGz8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
60/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 60
Before and After
~17.8sec ~10.5sec
Wh t W H l d K Ali
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
61/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 61
What We Helped: Keep-Alive
97 Connections 19 Connections
Wh t W H l d C i
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
62/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 62
What We Helped: Compression
H Did W D ?
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
63/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 63
How Did We Do?
Original
KA+Comp
First View
Repeat View
52%
71%
34%
94%
31%
51%
23%
75%
40%
62%
Improvement
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
64/134
Before and after: Keep-alives & compressionhttp://www.youtube.com/watch?v=KPYBF41yiFw
Pros and Cons
http://www.youtube.com/watch?v=KPYBF41yiFwhttp://www.youtube.com/watch?v=KPYBF41yiFw8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
65/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 65
Pros and Cons
Pros
Really easy to do
Single configuration switches in servers, proxies,or load balancers
Good benefit seen right away
Cons
Compression has processing overhead
On their own theyre just not enough
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
66/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 66
Step 2:
Repeat View Problem
Poor Client Side Caching
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
67/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 67
Poor Client Side Caching
Original
KA+Comp
Problem Still Exists
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
68/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 68
Problem Still Exists
~6.2sec
How Do We Get Better Caching
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
69/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 69
How Do We Get Better Caching
RFC 2616, Section 13
Caching headers should be used on static (non-changing) objects, so they can be cachedbrowser-side
And by intermediate caching proxies Validators are not enough
WebPageTest
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
70/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 70
WebPageTest
http://bit.ly/aCP3iX
Before and After
http://bit.ly/aCP3iXhttp://bit.ly/aCP3iX8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
71/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 71
Before and After
~6.2sec
~2.0sec
How Did We Do?
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
72/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 72
How Did We Do?
KA+Comp
With Good
Caching
Repeat View 70% 42%67%
Improvement
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
73/134
Pros and Cons
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
74/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 74
Pros and Cons
Pros
Good caching can have a major performanceimpact on repeat visits to a page
Sometimes its easy to do
Browsers generally pay attention (although
interpretation may vary slightly)
Cons
The spec appears scary
Invalidation and stale content
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
75/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 75
Step 3:
CDN
What Does a CDN do?
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
76/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 76
What Does a CDN do?
Global network of
proxy caches
Get cacheable
content close tousers
Reduce TTFB
(smaller greens)
TTFB Problem
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
77/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 77
TTFB Problem
WebPageTest
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
78/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 78
WebPageTest
http://bit.ly/a9ZJcF
Before and After
http://bit.ly/a9ZJcFhttp://bit.ly/a9ZJcF8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
79/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 79
Before and After
~10.5sec ~8.3sec
TTFB Savings
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
80/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 80
TTFB Savings
Per object TTFB savings of~50%
How Did We Do?
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
81/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 81
How Did We Do?
KA+Comp
+CDN
First View 21% 17%22%
Improvement
0.7 sec 2.3 sec 2.7 secSeconds Gained
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
82/134
Before and after: Adding a CDN
http://www.youtube.com/watch?v=BR5hO5rL8lE
Pros and Cons
http://www.youtube.com/watch?v=BR5hO5rL8lEhttp://www.youtube.com/watch?v=BR5hO5rL8lE8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
83/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 83
Pros and Cons
Pro
Good mitigation of the TTFB problem
Established industry: lots of vendors to choosefrom
Cons
Sometimes costly
May require code change (CDNed objects shouldbe written to the CDN domain)
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
84/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 84
Step 4:
Steroids- the Hard Stuff
We Can Get Better!
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
85/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 85
We Can Get Better!
Still too many roundtrips
Still too many bytes
Not Fast Enough!!
What to do Next?
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
86/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 86
What to do Next?
Reduce Roundtrips
Combine images
Combine JavaScript
Combine CSS
Reduce Payload even more Minify CSS and JavaScript Add Image Compression
Increase Concurrency
Add a couple of domains to the mix
WebPageTest
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
87/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 87
eb age es
http://bit.ly/bbT3v4
Before and After
http://bit.ly/bbT3v4http://bit.ly/bbT3v48/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
88/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 88
~8.3sec
~3.8sec
How Did We Do?
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
89/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 89
+CDN
+Strangeloop
First View 19% 30%54%
Improvement
0.5 sec 4.6 sec 4.1 sec
45% 31%
SecondsGained
81 107
11 37
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
90/134
Before and after: The final, fastest version
http://www.youtube.com/watch?v=IPn0T1UacIA
Pros and Cons
http://www.youtube.com/watch?v=IPn0T1UacIAhttp://www.youtube.com/watch?v=IPn0T1UacIA8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
91/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 91
Pros
Most significant benefit for the hardest part of theacceleration lifecycle
Address multiple performance points (somtimesmultiple ones with the same technique)
Cons Its not easy
Regression
Different Browsers
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
92/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 92
Different Browsers
Chrom
e9Ch
rome
10 Fire
Fox3Fir
eFox4 IE6 IE7 IE8
Safari5 Safar
i
Mobile
Flow
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
93/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 93
Flow
3.8 Seconds11 Roundtrips
Conversion
? ? ?
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
94/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 94
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
95/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 95
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
96/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 96
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
97/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 97
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
98/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 98
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
99/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 99
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
100/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 100
These stats dont apply to me.
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
101/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 101
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
102/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 102
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
103/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 103
These stats dont apply to meeither.
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
104/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 104
How to perform a 5-minutespeed/revenue benefitanalysis of your site
Step 1
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
105/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 105
Step 1
Perform WebPagetests in IE7 and IE8.
Calculate the load time difference as a
percentage.
Step 2
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
106/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 106
Step 2
Use Google Analytics to calculate yourcurrent order value per visit for IE7 and IE8.
Step 3
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
107/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 107
Step 3
Determine your order value per visit, byconnection speed (cable, DSL, T1, dialup).
Step 3 cont
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
108/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 108
Step 3 con t
Determine your order value per visit, byconnection speed (cable, DSL, T1, dialup).
Step 4
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
109/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 109
Step 4
Correlate the results of steps 1 to 3 insimple graphs.
Step 5
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
110/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 110
Step 5
Test your site to get a sense of how muchfaster it could be.
strangeloopnetworks.com/test-your-website
Step 6
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
111/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 111
Step 6
Compare these gains to your graphs fromstep 4.
What lift can you anticipate in value pervisit?
Caveats
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
112/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 112
Correlation does not imply causation.
Browser and connection speed might imply
something about the buyer (i.e. s/he is moreaffluent) that is unrelated to the effects ofspeed.
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
113/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 113
But this trend seems to hold
true in the real world.
Case study
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
114/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 114
y
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
115/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 115
How to be your companys in-house performance evangelist
Th t t k 3 thi
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
116/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 116
The average exec wants to know 3 things
Whats in it for the company?
Whats in it for me?
How do we compare to our competitors?
When talking to an exec
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
117/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 117
g
Tell the time, not how the watch works.
Most important, urgent point first.
Keep it short.
Keep it simple.
Make it visual.
Be ready to give context.
What to say: #1
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
118/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 118
y
Our site is slower than our competitors.
Were losing money.
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
119/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 119
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
120/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 120
What to say: #2
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
121/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 121
y
Weve proven that, when our site is faster for
users, they spend more.
What to say: #3
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
122/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 122
This is where we should be aiming.
What to say: #4
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
123/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 123
Consumers expect
EVERY website toload fast.
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
124/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 124
Performance automation market
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
125/134
2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 125
1993 20021999 20062000 200719961995 1998 20042003 20092008 2010
History of performance automation
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
126/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 126
I will deliver what the server gives me.as efficiently as possible to the browser
I will transform what the server gives me to optimize it for the user s browserDelivery
Transformation
O i i l D li T f ti
Delivery vs Transformation
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
127/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 127
Original Delivery Transformation
9.5 secondsroun tr ps 5.7 secondsroun tr ps s on s roun tr ps
Delivery market
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
128/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 128
Delivery market
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
129/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 129
Players delivery market
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
130/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 130
Transformation market
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
131/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 131
Transformation market
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
132/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 132
Transformation market
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
133/134
2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 133
8/6/2019 London Meetup - Performance for Mortal Companies - JOSH-FINAL
134/134