performance in business terms

Upload: strangeloop

Post on 08-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Performance in Business Terms

    1/122

    Performance in business terms

  • 8/6/2019 Performance in Business Terms

    2/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 2

    Agenda

    Introduction

    Basic terminology and concepts

    Case study Performance stats and examples

    5 minute performance benchmark

    Business case

    Q&A

  • 8/6/2019 Performance in Business Terms

    3/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 3

  • 8/6/2019 Performance in Business Terms

    4/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 4

  • 8/6/2019 Performance in Business Terms

    5/122

    Web Performance

  • 8/6/2019 Performance in Business Terms

    6/122

  • 8/6/2019 Performance in Business Terms

    7/122

  • 8/6/2019 Performance in Business Terms

    8/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 88www.strangeloopnetworks.com

  • 8/6/2019 Performance in Business Terms

    9/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 9

  • 8/6/2019 Performance in Business Terms

    10/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 10

    Waterfall chart

    10

  • 8/6/2019 Performance in Business Terms

    11/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 11

    Waterfall chart

    11

    HTML

  • 8/6/2019 Performance in Business Terms

    12/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 12

    Waterfall chart

    12

    Resources

    HTML

  • 8/6/2019 Performance in Business Terms

    13/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 13

    Waterfall chart

    13

    Start

    Render

    Document

    Complete

    Fully

    Loaded

  • 8/6/2019 Performance in Business Terms

    14/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 14

    Waterfall component breakdown

    14

    DNS lookup

    DNS Lookup

    Takes one packet in eachdirection

    Time is limited to the latency

    of the connection

    (DSL/Cable/etc) for the

    single round trip

  • 8/6/2019 Performance in Business Terms

    15/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 15

    Waterfall component breakdown

    15

    TCP

    Connection

    TCP Connection

    3 packets

    - ClientServer (SYN)

    - ServerClient (SYN/ACK)

    - ClientServer (ACK)

    Time is limited to the latency

    of the connection

    (DSL/Cable/etc) for the

    single round trip

  • 8/6/2019 Performance in Business Terms

    16/122

  • 8/6/2019 Performance in Business Terms

    17/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 1717

    Content

    Download

    Download

    Time it takes for the entirecontent of the response to

    get to the browser

    Mostly limited by the

    bandwidth limit of the

    connection (DSL/Cable/etc)

    Waterfall component breakdown

  • 8/6/2019 Performance in Business Terms

    18/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 1818

    First view vs Repeat View

  • 8/6/2019 Performance in Business Terms

    19/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 1919

    Concurrency

    Blocking

    Concurrent

    Concurrency

    Blocking script don't let the

    browser use available resources(network, connections, etc) to

    fetch more content from the

    server

    The overall page load time and

    render time are both affected

    negatively)

  • 8/6/2019 Performance in Business Terms

    20/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 20

    Case Study: Automation in action

  • 8/6/2019 Performance in Business Terms

    21/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 21

    Methodology

  • 8/6/2019 Performance in Business Terms

    22/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 22

    Lets Automate

  • 8/6/2019 Performance in Business Terms

    23/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 23

  • 8/6/2019 Performance in Business Terms

    24/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 24

    A Few Points of Clarification

    Well use it to describe where performance painpoints are, but that doesnt mean the page

    actually has these problems

    What were going to do:

    Not so

    good

    (slow)

    Awesome

    (fast)

    Improve performance incrementally

    * The real Velocity site is somewhere in the middle!

  • 8/6/2019 Performance in Business Terms

    25/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 25

    Performance Summary

    http://bit.ly/au01VY /

  • 8/6/2019 Performance in Business Terms

    26/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 26

    Waterfall

    First View Repeat View

  • 8/6/2019 Performance in Business Terms

    27/122

  • 8/6/2019 Performance in Business Terms

    28/122

  • 8/6/2019 Performance in Business Terms

    29/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 29

    Content Analysis by Domain

  • 8/6/2019 Performance in Business Terms

    30/122

  • 8/6/2019 Performance in Business Terms

    31/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 31

    Performance Problems

    Too many connections (too much orange)

  • 8/6/2019 Performance in Business Terms

    32/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 32

    Too Many Connections

    97 Connections

    (almost one per request)

  • 8/6/2019 Performance in Business Terms

    33/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 33

    Too Many Connections

  • 8/6/2019 Performance in Business Terms

    34/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 34

    Performance Problems

    Too many connections (too much orange) Too many bytes (too much blue)

  • 8/6/2019 Performance in Business Terms

    35/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 35

    Too Many Bytes

    By Type By Domain

  • 8/6/2019 Performance in Business Terms

    36/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 36

    Performance Problems

    Too many connections (too much orange) Too many bytes (too much blue)

    Concurrency

  • 8/6/2019 Performance in Business Terms

    37/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 37

    Concurrency

    Browsers can only open and use so manyconnections at once

    www.browserscope.org

  • 8/6/2019 Performance in Business Terms

    38/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 38

    Performance Problems

    Too many connections (too much orange) Too many bytes (too much blue)

    Concurrency

    Bad Caching for repeat views

  • 8/6/2019 Performance in Business Terms

    39/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 39

    Bad Repeat View

    Full Fetches

    Validation

  • 8/6/2019 Performance in Business Terms

    40/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 40

    Bad Repeat ViewConnections Bytes

  • 8/6/2019 Performance in Business Terms

    41/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 41

    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 Performance in Business Terms

    42/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 42

    The Green Problem #1: No CDNTTFB

  • 8/6/2019 Performance in Business Terms

    43/122

    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)

    Too Many Roundtrips (too many greens)

  • 8/6/2019 Performance in Business Terms

    44/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 44

    The Green Problem #2: Roundtrips

    First View Repeat View

    80

    Requests

    27 Requests

    78

    Requests

    14 Requests

  • 8/6/2019 Performance in Business Terms

    45/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 45

    The Green Problem #2: Roundtrips

    Every fetch still pays the HTTP overhead penalty TTFB 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 Performance in Business Terms

    46/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 46

    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 Performance in Business Terms

    47/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 47

    Examples of Other Problems

    Blocking Javascript

    3rd party calls (http://stevesouders.com/p3pc/)

  • 8/6/2019 Performance in Business Terms

    48/122

    Before and after: Keep-alives & compression

    http://www.youtube.com/watch?v=KPYBF41yiFw

  • 8/6/2019 Performance in Business Terms

    49/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 49

    Summary

  • 8/6/2019 Performance in Business Terms

    50/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 50

    Lets Fix It!!

  • 8/6/2019 Performance in Business Terms

    51/122

  • 8/6/2019 Performance in Business Terms

    52/122

  • 8/6/2019 Performance in Business Terms

    53/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 53

    Acceleration Methodology

  • 8/6/2019 Performance in Business Terms

    54/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 54

    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 Performance in Business Terms

    55/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 55

    Step 1:

    Low Hanging Fruit

  • 8/6/2019 Performance in Business Terms

    56/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 56

    Keep-Alive

    Solves the too-many connection problem (LessOrange!)

    Will help alleviate the TCP connection setup

    overhead

    97

    Connections

  • 8/6/2019 Performance in Business Terms

    57/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 57

    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

  • 8/6/2019 Performance in Business Terms

    58/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 58

    WebPageTest

    http://bit.ly/cKkjGz

  • 8/6/2019 Performance in Business Terms

    59/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 59

    Before and After

    ~17.8sec ~10.5sec

  • 8/6/2019 Performance in Business Terms

    60/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 60

    What We Helped: Keep-Alive

    97Connections 19Connections

  • 8/6/2019 Performance in Business Terms

    61/122

  • 8/6/2019 Performance in Business Terms

    62/122

  • 8/6/2019 Performance in Business Terms

    63/122

  • 8/6/2019 Performance in Business Terms

    64/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 64

    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 Performance in Business Terms

    65/122

  • 8/6/2019 Performance in Business Terms

    66/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 66

    Poor Client Side Caching

    Original

    KA+Comp

  • 8/6/2019 Performance in Business Terms

    67/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 67

    Problem Still Exists

    ~6.2sec

  • 8/6/2019 Performance in Business Terms

    68/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 68

    How Do We Get Better Caching

    RFC 2616, Section 13 Caching headers should be used on static (non-

    changing) objects, so they can be cached

    browser-side

    And by intermediate caching proxies

    Validators are not enough

  • 8/6/2019 Performance in Business Terms

    69/122

  • 8/6/2019 Performance in Business Terms

    70/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 70

    Before and After

    ~6.2sec

    ~2.0sec

  • 8/6/2019 Performance in Business Terms

    71/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 71

    How Did We Do?

    KA+Comp

    With GoodCaching

    Repeat View 70% 42%67%

    Improvement

  • 8/6/2019 Performance in Business Terms

    72/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 72

    Pros and Cons

    Pros Good caching can have a major performance impact

    on repeat visits to a page

    Sometimes its easy to do

    Browsers generally pay attention (althoughinterpretation may vary slightly)

    Cons

    The spec appears scary

    Invalidation and stale content

  • 8/6/2019 Performance in Business Terms

    73/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 73

    Step 3:

    CDN

  • 8/6/2019 Performance in Business Terms

    74/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 74

    What Does a CDN do?

    Global network ofproxy caches

    Get cacheable

    content close tousers

    Reduce TTFB(smaller greens)

  • 8/6/2019 Performance in Business Terms

    75/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 75

    TTFB Problem

  • 8/6/2019 Performance in Business Terms

    76/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 76

    WebPageTest

    http://bit.ly/a9ZJcF

  • 8/6/2019 Performance in Business Terms

    77/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 77

    Before and After

    ~10.5sec ~8.3sec

  • 8/6/2019 Performance in Business Terms

    78/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 78

    TTFB Savings

    Per object TTFB savings of

    ~50%

  • 8/6/2019 Performance in Business Terms

    79/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 79

    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 Performance in Business Terms

    80/122

    Before and after: Adding a CDN

    http://www.youtube.com/watch?v=BR5hO5rL8lE

  • 8/6/2019 Performance in Business Terms

    81/122

  • 8/6/2019 Performance in Business Terms

    82/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 82

    Step 4:

    Steroids- the Hard Stuff

    W C G t B tt !

  • 8/6/2019 Performance in Business Terms

    83/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 83

    We Can Get Better!

    Still too many roundtrips

    Still too many bytes

    Not Fast Enough!!

  • 8/6/2019 Performance in Business Terms

    84/122

  • 8/6/2019 Performance in Business Terms

    85/122

    B f d Aft

  • 8/6/2019 Performance in Business Terms

    86/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 86

    Before and After

    ~8.3sec

    ~3.8sec

  • 8/6/2019 Performance in Business Terms

    87/122

  • 8/6/2019 Performance in Business Terms

    88/122

    Before and after: The final, fastest version

    http://www.youtube.com/watch?v=IPn0T1UacIA

    P d C

  • 8/6/2019 Performance in Business Terms

    89/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 89

    Pros and Cons

    Pros Most significant benefit for the hardest part of the

    acceleration lifecycle

    Address multiple performance points (somtimes

    multiple ones with the same technique) Cons

    Its not easy

    Regression

    Diff t B

  • 8/6/2019 Performance in Business Terms

    90/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 90

    Different Browsers

    0

    0.5

    1

    1.52

    2.5

    3

    3.5

    4 Performance differences across browsers

    Fl

  • 8/6/2019 Performance in Business Terms

    91/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 91

    Flow

    3.8 Seconds11 Roundtrips

    Conversion

    ? ? ?

  • 8/6/2019 Performance in Business Terms

    92/122

    2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 92

  • 8/6/2019 Performance in Business Terms

    93/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 93

  • 8/6/2019 Performance in Business Terms

    94/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 94

  • 8/6/2019 Performance in Business Terms

    95/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 95

  • 8/6/2019 Performance in Business Terms

    96/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 96

  • 8/6/2019 Performance in Business Terms

    97/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 97

  • 8/6/2019 Performance in Business Terms

    98/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 98

    These stats dont apply to me.

  • 8/6/2019 Performance in Business Terms

    99/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 99

    9%

    11%

    13%

    Conversion Cart size Sales

  • 8/6/2019 Performance in Business Terms

    100/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 100

    8%

    6%

    Revenue Per visit Overall revenue

  • 8/6/2019 Performance in Business Terms

    101/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 101

    These stats dont apply to me

    either.

  • 8/6/2019 Performance in Business Terms

    102/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 102

    How to perform a 5-minutespeed/revenue benefit

    analysis of your site

    Step 1

  • 8/6/2019 Performance in Business Terms

    103/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 103

    Step 1

    Perform WebPagetests in IE7 and IE8.

    Calculate the load time difference as a

    percentage.

    Step 2

  • 8/6/2019 Performance in Business Terms

    104/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 104

    Step 2

    Use Google Analytics to calculate your

    current order value per visit for IE7 and IE8.

  • 8/6/2019 Performance in Business Terms

    105/122

    Step 3 cont

  • 8/6/2019 Performance in Business Terms

    106/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 106

    Step 3 con t

    Determine your order value per visit, by

    connection speed (cable, DSL, T1, dialup).

    Step 4

  • 8/6/2019 Performance in Business Terms

    107/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 107

    Step 4

    Correlate the results of steps 1 to 3 in simple

    graphs.

    Step 5

  • 8/6/2019 Performance in Business Terms

    108/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 108

    Step 5

    Test your site to get a sense of how much

    faster it could be.

    strangeloopnetworks.com/test-your-website

    Step 6

  • 8/6/2019 Performance in Business Terms

    109/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 109

    Step 6

    Compare these gains to your graphs from

    step 4.

    What lift can you anticipate in value pervisit?

    Caveats

  • 8/6/2019 Performance in Business Terms

    110/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 110

    Caveats

    Correlation does not imply causation.

    Browser and connection speed might imply

    something about the buyer (i.e. s/he is more

    affluent) that is unrelated to the effects of speed.

  • 8/6/2019 Performance in Business Terms

    111/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 111

    But this trend seems to hold

    true in the real world.

    Case study

  • 8/6/2019 Performance in Business Terms

    112/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 112

    Case study

  • 8/6/2019 Performance in Business Terms

    113/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 113

    How to be your companys in-

    house performance evangelist

  • 8/6/2019 Performance in Business Terms

    114/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 114

    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 Performance in Business Terms

    115/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 115

    When talking to an exec

    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 Performance in Business Terms

    116/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 116

    What to say: #1

    Our site is slower than our competitors.

    Were losing money.

  • 8/6/2019 Performance in Business Terms

    117/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 117

  • 8/6/2019 Performance in Business Terms

    118/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 118

    What to say: #2

  • 8/6/2019 Performance in Business Terms

    119/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically.119

    What to say: #2

    Weve proven that, when our site is faster forusers, they spend more.

    What to say: #3

  • 8/6/2019 Performance in Business Terms

    120/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically.120

    What to say: #3

    This is where we should be aiming.

    What to say: #4

  • 8/6/2019 Performance in Business Terms

    121/122

    2011 Strangeloop Networks Strangeloop. Faster Websites. Automatically.121

    What to say: #4

    Consumers expectEVERY website to

    load fast.

  • 8/6/2019 Performance in Business Terms

    122/122