SlideShare uma empresa Scribd logo
1 de 85
Web Acceleration and Front End
        Optimization
  Cloud Connect 2013 Santa Clara



             Hooman Beheshti
         VP Technology, Strangeloop
      hooman@strangeloopnetworks.com
Web Application Acceleration

• Means lots of things to lots of people
         –    TCP optimization
         –    Caching
         –    HTTP protocol optimization
         –    Compression
         –    Etc


• We’ll focus on “front-end” issues
         – Front-end Optimization (FEO)
         – Sometimes called WCO or WPO


© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   2
Better Performance = Better Business




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   3
© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   4
Impact of page load time on average daily
searches per user
  0.00%

-0.10%

-0.20%

-0.30%

-0.40%

-0.50%

-0.60%

-0.70%
                      50ms pre-   100ms pre-   200ms     200ms post- 400ms post-
                       header       header   post-header    ads        header


© 2010 Strangeloop Networks           Strangeloop. Faster Websites. Automatically.   5
© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   6
Impact of additional delay on business metrics

                     0.00%
                    -0.50%
   Percent change




                    -1.00%
                    -1.50%
                    -2.00%
                    -2.50%
                    -3.00%
                    -3.50%
                    -4.00%
                    -4.50%
                    -5.00%
                                  50                200                          500                   1000             2000
                                                                        Added delay

                             Queries per visitor        Query refinement                          Revenue per visitor
                             Any clicks                 Satisfaction


© 2010 Strangeloop Networks                        Strangeloop. Faster Websites. Automatically.                                7
© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   8
Shopzilla had another angle
    Big, high-traffic site                                       16 month re-
      ◦ 100M impressions a                                         engineering
        day                                                         ◦ Page load from 6 seconds
                                                                      to 1.2
      ◦ 8,000 searches a                                            ◦ Uptime from 99.65% to
        second                                                        99.97%
      ◦ 20-29M unique visitors                                      ◦ 10% of previous hardware
        a month                                                       needs
      ◦ 100M products




© 2010 Strangeloop Networks   http://en.oreilly.com/velocity2009/public/schedule/detail/7709
                                             Strangeloop. Faster Websites. Automatically.      9
5-12% increase in revenue




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   10
Mobile Case Study




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   11
Customer Profile

•     Top 200 Internet retailer, US based
•     Target geography: US and Europe
•     $3B in revenue
•     30,000 employees




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   12
Page Views by Mobile Device




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   13
Experiment

• Induce delay on HTML
         – 200msec, 500msec, 1000msec


• Apply to small percentage of traffic

• 12 weeks

• Monitor impact on key business metrics



© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   14
Results




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   15
Impact on Bounce Rate




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   16
Impact on Returning Visitors




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   17
More Details

• http://www.webperformancetoday.com/2011/11/2
  3/case-study-slow-page-load-mobile-business-
  metrics/

• http://velocityconf.com/velocityeu/public/schedul
  e/detail/21632




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   18
What Is FEO?




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   19
What Is FEO?




                        0     6                            12
© 2010 Strangeloop Networks       Strangeloop. Faster Websites. Automatically.   20
What Is FEO?




                        0     6                            12
© 2010 Strangeloop Networks       Strangeloop. Faster Websites. Automatically.   21
What Is FEO?




                                                                                 DNS            TTFB




                                                                                      TCP          Download
                                                                                   Connection




                        0     6                            12
© 2010 Strangeloop Networks       Strangeloop. Faster Websites. Automatically.                            22
What Is FEO?
                                                                       Back End: The time from when the
                                                                       request is made by the browser to
                                                                       last byte of the HTML response


                                                                       Front End: Everything after the
                                                                       HTML arrives




                                                                                 Important Timers:

                                                                                 Start Render

                                                                                 onload (Document Complete)
                        0     6                            12
© 2010 Strangeloop Networks       Strangeloop. Faster Websites. Automatically.                                23
Google’s Waterfall Chart




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   24
Measurement/Tools




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   25
Waterfall Analysis

• Best way to address front-end problems is to
  diagnose your site/application through waterfall
  analysis




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   26
Waterfall Tools: webpagetest.org




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   27
Waterfall Tools: HTTPWatch




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   28
Waterfall Tools: Firebug




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   29
Waterfall Tools: WebKit Dev Tools




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   30
Waterfall Tools: PCAP2HAR




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   31
Measurement – a pretty big deal

• Synthetic performance “proxies”
         –    Backbone testing services
         –    Desktop tools and browser plugins
         –    Browser-based tests
         –    But:
                  • Not real users
                  • Often no latency/bandwidth limitations imposed on testing
                    agents




© 2010 Strangeloop Networks         Strangeloop. Faster Websites. Automatically.   32
Measurement – a pretty big deal

• Real User Monitoring (RUM)
         –    Using real user beacons
         –    Services available
         –    Can build your own
         –    Now a part of Google Analytics
         –    Caveat: need lots of data!




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   33
W3C’s Navigation Timing




   https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html

© 2010 Strangeloop Networks      Strangeloop. Faster Websites. Automatically.         34
Front End Problems




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   35
Front End Performance Problems




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   36
Front End Performance Problems

• Latency:
         – every round trip incurs a latency
           penalty




© 2010 Strangeloop Networks       Strangeloop. Faster Websites. Automatically.   37
Front End Performance Problems

• Latency:
         – every round trip incurs a latency
           penalty


• Payload:
         – last mile bandwidth isn’t infinite




© 2010 Strangeloop Networks        Strangeloop. Faster Websites. Automatically.   38
Front End Performance Problems

• Latency:
         – every round trip incurs a latency
           penalty


• Payload:
         – last mile bandwidth isn’t infinite


• Caching:
         – coming back to the page must be
           much faster




© 2010 Strangeloop Networks        Strangeloop. Faster Websites. Automatically.   39
Front End Performance Problems

• Latency:
         – every round trip incurs a latency
           penalty


• Payload:
         – last mile bandwidth isn’t infinite


• Caching:
         – coming back to the page must be
           much faster


• Rendering:
         – browser work takes time

© 2010 Strangeloop Networks        Strangeloop. Faster Websites. Automatically.   40
Client Platforms

• Desktop vs Mobile
         – Desktop browsers have more access to compute
           resources
         – Larger screens
         – Faster networks (lower latency)


• The problems are often similar
         – Addressing them is often different




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   41
Addressing Front End Problems




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   42
Latency

• TTFB (Time To First Byte)
• Every fetch incurs the latency penalty
• Two ways to address the problem:
         – Reduce latency
         – Get rid of round trips




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   43
CDN

• Global network of caching proxies that gets
  content closer to all your users

• The closer the asset, the lower the latency

• CDNs have become a core piece of
  infrastructure for most modern web sites and
  services

• Lots of vendors to choose from

© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   44
CDN



                                                                      Edge Cache
                                 Edge Cache




                                                                                       Origin
                                                                                       Origin
                              Edge Cache                                             Data Center



                                                   Edge Cache




© 2010 Strangeloop Networks           Strangeloop. Faster Websites. Automatically.                 45
CDN

• Small object delivery
         – Only static assets are placed on edge caches
         – Users go direct to origin to get dynamic content
         – HTML pages reference objects on the CDN


• Whole Site Delivery (Dynamic Site Acceleration)
         – All transactions go through CDN, even dynamic content
         – More than caching
                  • Acceleration
                  • Security
                  • Optimization
                                                                                  Origi
         – More expensive                                                          n
                                                                                   Da




© 2010 Strangeloop Networks        Strangeloop. Faster Websites. Automatically.           46
CDN




                              Per object TTFB savings of
                                         ~50%




© 2010 Strangeloop Networks      Strangeloop. Faster Websites. Automatically.   47
CDN: because physics!!

• Well understood way to leverage science

• Mitigates the latency problem by reducing it for
  the majority of your users

• Less effective when it comes to mobile users




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   48
Mobile Networks (3G example)




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   49
Resource Consolidation

• Eliminating round trips altogether also fights the
  latency problem, often more effectively




                                                                             Combine images
                                                                             into fewer
                                                                             "packages"




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.              50
Resource Consolidation

• A number of consolidation techniques
         –    Images (sprites)
         –    JavaScript/CSS consolidation/concatenation
         –    Inlining (DataURI for images)
         –    MHTML (IE only)


• Browser makes one request for the “package”

• HTML is marked up so the browser can get
  individual resources from inside the package

© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   51
Payload Reduction

• Bytes still need to get from server (cloud or
  otherwise) to client

• Ways to reduce bytes:
         – HTTP compression
         – JS/CSS minification
         – Image compression (lossless or lossy)




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   52
Payload Reduction




• Any reduction in bytes will make pages load
  faster

• This is particularly important with mobile clients




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   53
Browser Caching

• The browser cache is a resource seldom used
  optimally

• Reasons why we generally don’t do good
  browser caching
         – Caching rules are often complicated
         – We never want to server stale content




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   54
Browser Caching

• Use long expiry on static objects
         – Served from origin
         – Served from CDN


• Invalidation framework is a must
         – Protect against serving stale content
         – Example: versioning

    /images/image.jpg  /images/image.jpg?v=00001




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   55
Browser Caching on Mobile Platforms

• Different than desktop

• The cache available to the browsers is relatively
  small

• Use HTML5’s localStorage instead of browser
  cache
         – A programmable cache, unlike HTTP object caches
         – Limited size (~2.5MB per domain)
         – Good for caching CSS/JS, and small images


© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   56
Rendering Issues

• More complicated

• The order of events in the browser makes a
  difference to how fast a page looks
         – Put things in the optimal order for rendering

• Deferral
         – CSS and JS (sometimes images)
                  • Not at the expense of a page’s start render
         – Asynchronous JavaScript

• 3rd party services have an impact on page rendering

• Above the fold vs below the fold
© 2010 Strangeloop Networks          Strangeloop. Faster Websites. Automatically.   57
“The HTML Problem”




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   58
Performance Pain: The HTML Problem

• HTML base pages are often
  generated after the server runs
  some business logic

• This is typically observed as
  “server think time”, which affects
  time to first byte




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   59
Performance Pain: The HTML Problem
                                                             TTFB = Latency + Server think time
• HTML base pages are often
  generated after the server runs
  some business logic

• This is typically observed as
  “server think time”, which affects
  time to first byte




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.                        60
Performance Pain: The HTML Problem
                                                             TTFB = Latency + Server think time
• HTML base pages are often
  generated after the server runs
  some business logic

• This is typically observed as                                              B
  “server think time”, which affects                                         L
  time to first byte                                                         O
                                                                             C
                                                                             K
                                                                             E
                                                                             D




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.                        61
Performance Pain: The HTML Problem
                                                             TTFB = Latency + Server think time
• HTML base pages are often
  generated after the server runs
  some business logic

• This is typically observed as
                                                                             B
  “server think time”, which affects
                                                                             L
  time to first byte                                                         O
                                                                             C
• Not always logic related: could                                            K
  be caused by issues within the                                             E
  cloud infrastructure itself                                                D


• HTML is often seen as dynamic

• Cannot be cached, anywhere in
  the network

© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.                        62
HTML Caching

• Some level of caching for HTML is generally a
  good idea

• This is especially true if HTML isn’t truly dynamic
  and is static for small periods of time

• Great for server offload

• Solutions that allow granular caching of HTML


© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   63
Some Examples




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   64
Before and After Waterfalls

           Before FEO                                                        After FEO

                                     First Time Visitor

                                58 roundtrips  5 roundtrips
                              4.2 seconds  1.1 seconds




                                         Repeat Visitor
                                  57 roundtrips  4 roundtrips
                               3.2 seconds  0.7 seconds




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.               65
Cloud Connect Home Page




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   66
Cloud Connect Home Page




         2.8 sec




                 5.63 sec

© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   67
Cloud Connect Home Page


                                              FEO




         2.8 sec




                 5.63 sec

© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   68
Cloud Connect Home Page


                                              FEO




         2.8 sec




                                             To onload                       Before   After
                                           Round Trips                        122      58
                 5.63 sec                       KBytes                       1024     895

© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.                    69
Cloud Connect Home Page


                                               FEO



                              Start Render: +36%                                       1.8
                              Doc Complete: +35.5%                                     se
                                                                                        c


         2.8 sec
                                                                                         3.64
                                                                                         sec


                                              To onload                       Before            After
                                            Round Trips                        122               58
                 5.63 sec                        KBytes                       1024              895

© 2010 Strangeloop Networks    Strangeloop. Faster Websites. Automatically.                             70
What Does it Look Like?




                              http://youtu.be/uszBaW5yMI0




© 2010 Strangeloop Networks           Strangeloop. Faster Websites. Automatically.   71
Mobile Example

• Velocity Conference 2012

• Step-wise acceleration of O’reilly’s site (for a
  mobile phone on 3G)
         –    Start with the original site (purposely made worse)
         –    Add CDN
         –    Add resource consolidation and payload reduction
         –    Add deferrals


• Examine impact of each

© 2010 Strangeloop Networks    Strangeloop. Faster Websites. Automatically.   72
What Does it Look Like?




                              http://youtu.be/iPtbU1KvLjM




© 2010 Strangeloop Networks           Strangeloop. Faster Websites. Automatically.   73
Original Site + CDN




                        15.29 sec                                                  13.7 sec




© 2010 Strangeloop Networks         Strangeloop. Faster Websites. Automatically.              74
Add Consolidation and Payload Reduction




                                                                                   9.47 sec




                                                         To onload              Before        After

                      13.7 sec                       # of resources              92            28
                                                            KBytes               727          417



© 2010 Strangeloop Networks      Strangeloop. Faster Websites. Automatically.                       75
Add Deferral




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   76
Add Deferral




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   77
Add Deferral




                                                                                2.2
                                                                                sec
           3.6 sec




                      9.47 sec                                                  5.56 sec




© 2010 Strangeloop Networks      Strangeloop. Faster Websites. Automatically.              78
What Does it Look Like?




                              http://youtu.be/zTTxdAtbhsg




© 2010 Strangeloop Networks           Strangeloop. Faster Websites. Automatically.   79
Summing up…




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   80
Sounds Really Easy!

• It’s not!

• Some techniques are just difficult to implement

• Optimizing for performance sometimes requires
  significant dev resources
         – Mortal companies can’t afford to sacrifice new feature
           cycles


• Maintenance and upkeep is a constant problem
         – Every version to roll out will need optimization

© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   81
FEO Automation Industry

• Solutions available to automatically do this stuff

• Multiple deployment options
         – Software/Hardware/Service
         – Cloud apps will use either service or software


• The goal is to “fix the code” for
  performance, automatically



© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   82
It Gets Complicated

• Rewriting HTML can break pages

• You have to do this stuff based on browser
         – Play to the strength of each browser (supported
           techniques, etc)
         – Stay away from their weaknesses (bugs, undocumented
           issues, etc)
         – Mobile is its own beast


• Optimizing once per page isn’t enough
         – First view (cold cache)
         – Repeat view (warm cache)
         – User flow

© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   83
When Looking For FEO Automation
• Do your research, and understand your needs

• Understand the deployment model and how disruptive it
  will be to you, if at all

• Are there provisions in place for breaking pages

• Granularity in functionality:
         –    Browser-based optimization
         –    mobile
         –    first/repeat views
         –    transaction flows

• Choose what’s right for you, based on your needs

© 2010 Strangeloop Networks     Strangeloop. Faster Websites. Automatically.   84
Thank You
hooman@strangeloopnetworks.com




                                 85

Mais conteúdo relacionado

Mais procurados

2021 Chrome Dev Summit: Web Performance 101
2021 Chrome Dev Summit: Web Performance 1012021 Chrome Dev Summit: Web Performance 101
2021 Chrome Dev Summit: Web Performance 101Tammy Everts
 
Performance Is About People, Not Metrics [2017 Web Directions Summit]
Performance Is About People, Not Metrics [2017 Web Directions Summit] Performance Is About People, Not Metrics [2017 Web Directions Summit]
Performance Is About People, Not Metrics [2017 Web Directions Summit] Tammy Everts
 
How to fix the design issues that matter on the pages that matter [2016 Smash...
How to fix the design issues that matter on the pages that matter [2016 Smash...How to fix the design issues that matter on the pages that matter [2016 Smash...
How to fix the design issues that matter on the pages that matter [2016 Smash...Tammy Everts
 
The 7 Habits of Highly Effective Performance Teams [PerfNow 2019]
The 7 Habits of Highly Effective Performance Teams [PerfNow 2019]The 7 Habits of Highly Effective Performance Teams [PerfNow 2019]
The 7 Habits of Highly Effective Performance Teams [PerfNow 2019]Tammy Everts
 
Planning Your Progressive Web App
Planning Your Progressive Web AppPlanning Your Progressive Web App
Planning Your Progressive Web AppJason Grigsby
 
The hunt for the unicorn performance metric [DeltaV London 2018]
The hunt for the unicorn performance metric [DeltaV London 2018]The hunt for the unicorn performance metric [DeltaV London 2018]
The hunt for the unicorn performance metric [DeltaV London 2018]Tammy Everts
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentNeotys
 
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...Katie Sylor-Miller
 
Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017Christian Heilmann
 
Breaking out of the Tetris mind set #btconf
Breaking out of the Tetris mind set #btconfBreaking out of the Tetris mind set #btconf
Breaking out of the Tetris mind set #btconfChristian Heilmann
 
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger BartelWeb Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger BartelHolger Bartel
 
Making Mobile Sites Faster
Making Mobile Sites FasterMaking Mobile Sites Faster
Making Mobile Sites FasterAndy Davies
 
The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017Christian Heilmann
 
W&M's Responsive Design
W&M's Responsive DesignW&M's Responsive Design
W&M's Responsive DesignTiffany Beker
 
WPO Israel Meetup - Mobile Web Performance slides by Steve Souders
WPO Israel Meetup - Mobile Web Performance slides by Steve SoudersWPO Israel Meetup - Mobile Web Performance slides by Steve Souders
WPO Israel Meetup - Mobile Web Performance slides by Steve SoudersGil Givati
 
The Need For Speed
The Need For SpeedThe Need For Speed
The Need For SpeedAndy Davies
 
Using Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work EverywhereUsing Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work EverywhereChris Love
 

Mais procurados (20)

2021 Chrome Dev Summit: Web Performance 101
2021 Chrome Dev Summit: Web Performance 1012021 Chrome Dev Summit: Web Performance 101
2021 Chrome Dev Summit: Web Performance 101
 
Performance Is About People, Not Metrics [2017 Web Directions Summit]
Performance Is About People, Not Metrics [2017 Web Directions Summit] Performance Is About People, Not Metrics [2017 Web Directions Summit]
Performance Is About People, Not Metrics [2017 Web Directions Summit]
 
How to fix the design issues that matter on the pages that matter [2016 Smash...
How to fix the design issues that matter on the pages that matter [2016 Smash...How to fix the design issues that matter on the pages that matter [2016 Smash...
How to fix the design issues that matter on the pages that matter [2016 Smash...
 
The 7 Habits of Highly Effective Performance Teams [PerfNow 2019]
The 7 Habits of Highly Effective Performance Teams [PerfNow 2019]The 7 Habits of Highly Effective Performance Teams [PerfNow 2019]
The 7 Habits of Highly Effective Performance Teams [PerfNow 2019]
 
WordCamp NL 2016
WordCamp NL 2016WordCamp NL 2016
WordCamp NL 2016
 
Planning Your Progressive Web App
Planning Your Progressive Web AppPlanning Your Progressive Web App
Planning Your Progressive Web App
 
Hacking Web Performance
Hacking Web PerformanceHacking Web Performance
Hacking Web Performance
 
The hunt for the unicorn performance metric [DeltaV London 2018]
The hunt for the unicorn performance metric [DeltaV London 2018]The hunt for the unicorn performance metric [DeltaV London 2018]
The hunt for the unicorn performance metric [DeltaV London 2018]
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile Development
 
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
 
Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017
 
Breaking out of the Tetris mind set #btconf
Breaking out of the Tetris mind set #btconfBreaking out of the Tetris mind set #btconf
Breaking out of the Tetris mind set #btconf
 
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger BartelWeb Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
 
Making Mobile Sites Faster
Making Mobile Sites FasterMaking Mobile Sites Faster
Making Mobile Sites Faster
 
The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017
 
W&M's Responsive Design
W&M's Responsive DesignW&M's Responsive Design
W&M's Responsive Design
 
WPO Israel Meetup - Mobile Web Performance slides by Steve Souders
WPO Israel Meetup - Mobile Web Performance slides by Steve SoudersWPO Israel Meetup - Mobile Web Performance slides by Steve Souders
WPO Israel Meetup - Mobile Web Performance slides by Steve Souders
 
The Need For Speed
The Need For SpeedThe Need For Speed
The Need For Speed
 
Using Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work EverywhereUsing Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work Everywhere
 
Speed
SpeedSpeed
Speed
 

Destaque

Front end performance optimization
Front end performance optimizationFront end performance optimization
Front end performance optimizationStevie T
 
Front end optimization
Front end optimizationFront end optimization
Front end optimizationAbhishek Anand
 
Front-End Performance Optimization in WordPress
Front-End Performance Optimization in WordPressFront-End Performance Optimization in WordPress
Front-End Performance Optimization in WordPressdrywallbmb
 
Marrying CDNs with Front-End Optimization
Marrying CDNs with Front-End Optimization Marrying CDNs with Front-End Optimization
Marrying CDNs with Front-End Optimization Strangeloop
 
Heavy Web Optimization: Frontend
Heavy Web Optimization: FrontendHeavy Web Optimization: Frontend
Heavy Web Optimization: FrontendVõ Duy Tuấn
 

Destaque (7)

Front end performance optimization
Front end performance optimizationFront end performance optimization
Front end performance optimization
 
Front end optimization
Front end optimizationFront end optimization
Front end optimization
 
Front-End Optimization (FEO)
Front-End Optimization (FEO)Front-End Optimization (FEO)
Front-End Optimization (FEO)
 
Front-End Performance Optimization in WordPress
Front-End Performance Optimization in WordPressFront-End Performance Optimization in WordPress
Front-End Performance Optimization in WordPress
 
Marrying CDNs with Front-End Optimization
Marrying CDNs with Front-End Optimization Marrying CDNs with Front-End Optimization
Marrying CDNs with Front-End Optimization
 
Heavy Web Optimization: Frontend
Heavy Web Optimization: FrontendHeavy Web Optimization: Frontend
Heavy Web Optimization: Frontend
 
Image processing ppt
Image processing pptImage processing ppt
Image processing ppt
 

Semelhante a Cloud Connect Santa Clara 2013: Web Acceleration and Front-End Optimization (Hooman Beheshti)

Cloud Performance: Guide to Tackling Cloud Latency [Cloud Connect - Chicago 2...
Cloud Performance: Guide to Tackling Cloud Latency [Cloud Connect - Chicago 2...Cloud Performance: Guide to Tackling Cloud Latency [Cloud Connect - Chicago 2...
Cloud Performance: Guide to Tackling Cloud Latency [Cloud Connect - Chicago 2...Strangeloop
 
Velocity 2012: The 90-Minute Mobile Optimization Life Cycle
Velocity 2012: The 90-Minute Mobile Optimization Life CycleVelocity 2012: The 90-Minute Mobile Optimization Life Cycle
Velocity 2012: The 90-Minute Mobile Optimization Life CycleStrangeloop
 
Front End Optimization [Cloud Connect 2012]
Front End Optimization [Cloud Connect 2012]Front End Optimization [Cloud Connect 2012]
Front End Optimization [Cloud Connect 2012]Strangeloop
 
O'Reilly webcast: Joshua Bixby on Mobile Performance Trends and Predictions
O'Reilly webcast: Joshua Bixby on Mobile Performance Trends and PredictionsO'Reilly webcast: Joshua Bixby on Mobile Performance Trends and Predictions
O'Reilly webcast: Joshua Bixby on Mobile Performance Trends and PredictionsStrangeloop
 
2012 Annual State of the Union for Mobile Ecommerce Performance [Velocity EU]
2012 Annual State of the Union for Mobile Ecommerce Performance [Velocity EU]2012 Annual State of the Union for Mobile Ecommerce Performance [Velocity EU]
2012 Annual State of the Union for Mobile Ecommerce Performance [Velocity EU]Strangeloop
 
Testing Mobile App Performance
Testing Mobile App PerformanceTesting Mobile App Performance
Testing Mobile App PerformanceTechWell
 
Unravelling Mobile Web Performance
Unravelling Mobile Web PerformanceUnravelling Mobile Web Performance
Unravelling Mobile Web PerformanceGuy Podjarny
 
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamaielenae00
 
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamaielenae00
 
Beyond CDNs: How to Harness the Next Phase of Innovation in Web Performance
Beyond CDNs: How to Harness the Next Phase of Innovation in Web PerformanceBeyond CDNs: How to Harness the Next Phase of Innovation in Web Performance
Beyond CDNs: How to Harness the Next Phase of Innovation in Web PerformanceYottaa
 
Changing Admins Lives Forever with Automated Network Management
Changing Admins Lives Forever with Automated Network ManagementChanging Admins Lives Forever with Automated Network Management
Changing Admins Lives Forever with Automated Network ManagementMark Piening
 
Internet 2020: The Future Connection
Internet 2020: The Future ConnectionInternet 2020: The Future Connection
Internet 2020: The Future ConnectionChristine Nolan
 
30 billion requests per day with a NoSQL architecture (2013)
30 billion requests per day with a NoSQL architecture (2013)30 billion requests per day with a NoSQL architecture (2013)
30 billion requests per day with a NoSQL architecture (2013)Julien SIMON
 
Web Performance 101
Web Performance 101Web Performance 101
Web Performance 101Uri Lavi
 
Edge 2016 what slows you down - your network or your device
Edge 2016 what slows you down - your network or your deviceEdge 2016 what slows you down - your network or your device
Edge 2016 what slows you down - your network or your deviceakamaidevrel
 
VISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingVISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingMaarten Balliauw
 
Mobile Performance Testing - Testing the Server
Mobile Performance Testing  - Testing the ServerMobile Performance Testing  - Testing the Server
Mobile Performance Testing - Testing the ServerXBOSoft
 
F5 EMEA Webinar Oct'15: http2 how to ease the transition
F5 EMEA Webinar Oct'15: http2 how to ease the transitionF5 EMEA Webinar Oct'15: http2 how to ease the transition
F5 EMEA Webinar Oct'15: http2 how to ease the transitionDmitry Tikhovich
 

Semelhante a Cloud Connect Santa Clara 2013: Web Acceleration and Front-End Optimization (Hooman Beheshti) (20)

Cloud Performance: Guide to Tackling Cloud Latency [Cloud Connect - Chicago 2...
Cloud Performance: Guide to Tackling Cloud Latency [Cloud Connect - Chicago 2...Cloud Performance: Guide to Tackling Cloud Latency [Cloud Connect - Chicago 2...
Cloud Performance: Guide to Tackling Cloud Latency [Cloud Connect - Chicago 2...
 
Velocity 2012: The 90-Minute Mobile Optimization Life Cycle
Velocity 2012: The 90-Minute Mobile Optimization Life CycleVelocity 2012: The 90-Minute Mobile Optimization Life Cycle
Velocity 2012: The 90-Minute Mobile Optimization Life Cycle
 
Front End Optimization [Cloud Connect 2012]
Front End Optimization [Cloud Connect 2012]Front End Optimization [Cloud Connect 2012]
Front End Optimization [Cloud Connect 2012]
 
O'Reilly webcast: Joshua Bixby on Mobile Performance Trends and Predictions
O'Reilly webcast: Joshua Bixby on Mobile Performance Trends and PredictionsO'Reilly webcast: Joshua Bixby on Mobile Performance Trends and Predictions
O'Reilly webcast: Joshua Bixby on Mobile Performance Trends and Predictions
 
2012 Annual State of the Union for Mobile Ecommerce Performance [Velocity EU]
2012 Annual State of the Union for Mobile Ecommerce Performance [Velocity EU]2012 Annual State of the Union for Mobile Ecommerce Performance [Velocity EU]
2012 Annual State of the Union for Mobile Ecommerce Performance [Velocity EU]
 
Testing Mobile App Performance
Testing Mobile App PerformanceTesting Mobile App Performance
Testing Mobile App Performance
 
Unravelling Mobile Web Performance
Unravelling Mobile Web PerformanceUnravelling Mobile Web Performance
Unravelling Mobile Web Performance
 
DevOps and Cloud Native
DevOps and Cloud NativeDevOps and Cloud Native
DevOps and Cloud Native
 
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai
 
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai
10+апреля+лучшие+практики+и+инновации+вадим+береговский+akamai
 
Beyond CDNs: How to Harness the Next Phase of Innovation in Web Performance
Beyond CDNs: How to Harness the Next Phase of Innovation in Web PerformanceBeyond CDNs: How to Harness the Next Phase of Innovation in Web Performance
Beyond CDNs: How to Harness the Next Phase of Innovation in Web Performance
 
Changing Admins Lives Forever with Automated Network Management
Changing Admins Lives Forever with Automated Network ManagementChanging Admins Lives Forever with Automated Network Management
Changing Admins Lives Forever with Automated Network Management
 
Internet 2020: The Future Connection
Internet 2020: The Future ConnectionInternet 2020: The Future Connection
Internet 2020: The Future Connection
 
30 billion requests per day with a NoSQL architecture (2013)
30 billion requests per day with a NoSQL architecture (2013)30 billion requests per day with a NoSQL architecture (2013)
30 billion requests per day with a NoSQL architecture (2013)
 
Web Performance 101
Web Performance 101Web Performance 101
Web Performance 101
 
Edge 2016 what slows you down - your network or your device
Edge 2016 what slows you down - your network or your deviceEdge 2016 what slows you down - your network or your device
Edge 2016 what slows you down - your network or your device
 
VISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingVISUG - Approaches for application request throttling
VISUG - Approaches for application request throttling
 
Mobile web performance dwx13
Mobile web performance dwx13Mobile web performance dwx13
Mobile web performance dwx13
 
Mobile Performance Testing - Testing the Server
Mobile Performance Testing  - Testing the ServerMobile Performance Testing  - Testing the Server
Mobile Performance Testing - Testing the Server
 
F5 EMEA Webinar Oct'15: http2 how to ease the transition
F5 EMEA Webinar Oct'15: http2 how to ease the transitionF5 EMEA Webinar Oct'15: http2 how to ease the transition
F5 EMEA Webinar Oct'15: http2 how to ease the transition
 

Último

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Último (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Cloud Connect Santa Clara 2013: Web Acceleration and Front-End Optimization (Hooman Beheshti)

  • 1. Web Acceleration and Front End Optimization Cloud Connect 2013 Santa Clara Hooman Beheshti VP Technology, Strangeloop hooman@strangeloopnetworks.com
  • 2. Web Application Acceleration • Means lots of things to lots of people – TCP optimization – Caching – HTTP protocol optimization – Compression – Etc • We’ll focus on “front-end” issues – Front-end Optimization (FEO) – Sometimes called WCO or WPO © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 2
  • 3. Better Performance = Better Business © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 3
  • 4. © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 4
  • 5. Impact of page load time on average daily searches per user 0.00% -0.10% -0.20% -0.30% -0.40% -0.50% -0.60% -0.70% 50ms pre- 100ms pre- 200ms 200ms post- 400ms post- header header post-header ads header © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 5
  • 6. © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 6
  • 7. Impact of additional delay on business metrics 0.00% -0.50% Percent change -1.00% -1.50% -2.00% -2.50% -3.00% -3.50% -4.00% -4.50% -5.00% 50 200 500 1000 2000 Added delay Queries per visitor Query refinement Revenue per visitor Any clicks Satisfaction © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 7
  • 8. © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 8
  • 9. Shopzilla had another angle  Big, high-traffic site  16 month re- ◦ 100M impressions a engineering day ◦ Page load from 6 seconds to 1.2 ◦ 8,000 searches a ◦ Uptime from 99.65% to second 99.97% ◦ 20-29M unique visitors ◦ 10% of previous hardware a month needs ◦ 100M products © 2010 Strangeloop Networks http://en.oreilly.com/velocity2009/public/schedule/detail/7709 Strangeloop. Faster Websites. Automatically. 9
  • 10. 5-12% increase in revenue © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 10
  • 11. Mobile Case Study © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 11
  • 12. Customer Profile • Top 200 Internet retailer, US based • Target geography: US and Europe • $3B in revenue • 30,000 employees © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 12
  • 13. Page Views by Mobile Device © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 13
  • 14. Experiment • Induce delay on HTML – 200msec, 500msec, 1000msec • Apply to small percentage of traffic • 12 weeks • Monitor impact on key business metrics © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 14
  • 15. Results © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 15
  • 16. Impact on Bounce Rate © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 16
  • 17. Impact on Returning Visitors © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 17
  • 18. More Details • http://www.webperformancetoday.com/2011/11/2 3/case-study-slow-page-load-mobile-business- metrics/ • http://velocityconf.com/velocityeu/public/schedul e/detail/21632 © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 18
  • 19. What Is FEO? © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 19
  • 20. What Is FEO? 0 6 12 © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 20
  • 21. What Is FEO? 0 6 12 © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 21
  • 22. What Is FEO? DNS TTFB TCP Download Connection 0 6 12 © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 22
  • 23. What Is FEO? Back End: The time from when the request is made by the browser to last byte of the HTML response Front End: Everything after the HTML arrives Important Timers: Start Render onload (Document Complete) 0 6 12 © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 23
  • 24. Google’s Waterfall Chart © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 24
  • 25. Measurement/Tools © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 25
  • 26. Waterfall Analysis • Best way to address front-end problems is to diagnose your site/application through waterfall analysis © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 26
  • 27. Waterfall Tools: webpagetest.org © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 27
  • 28. Waterfall Tools: HTTPWatch © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 28
  • 29. Waterfall Tools: Firebug © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 29
  • 30. Waterfall Tools: WebKit Dev Tools © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 30
  • 31. Waterfall Tools: PCAP2HAR © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 31
  • 32. Measurement – a pretty big deal • Synthetic performance “proxies” – Backbone testing services – Desktop tools and browser plugins – Browser-based tests – But: • Not real users • Often no latency/bandwidth limitations imposed on testing agents © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 32
  • 33. Measurement – a pretty big deal • Real User Monitoring (RUM) – Using real user beacons – Services available – Can build your own – Now a part of Google Analytics – Caveat: need lots of data! © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 33
  • 34. W3C’s Navigation Timing https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 34
  • 35. Front End Problems © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 35
  • 36. Front End Performance Problems © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 36
  • 37. Front End Performance Problems • Latency: – every round trip incurs a latency penalty © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 37
  • 38. Front End Performance Problems • Latency: – every round trip incurs a latency penalty • Payload: – last mile bandwidth isn’t infinite © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 38
  • 39. Front End Performance Problems • Latency: – every round trip incurs a latency penalty • Payload: – last mile bandwidth isn’t infinite • Caching: – coming back to the page must be much faster © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 39
  • 40. Front End Performance Problems • Latency: – every round trip incurs a latency penalty • Payload: – last mile bandwidth isn’t infinite • Caching: – coming back to the page must be much faster • Rendering: – browser work takes time © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 40
  • 41. Client Platforms • Desktop vs Mobile – Desktop browsers have more access to compute resources – Larger screens – Faster networks (lower latency) • The problems are often similar – Addressing them is often different © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 41
  • 42. Addressing Front End Problems © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 42
  • 43. Latency • TTFB (Time To First Byte) • Every fetch incurs the latency penalty • Two ways to address the problem: – Reduce latency – Get rid of round trips © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 43
  • 44. CDN • Global network of caching proxies that gets content closer to all your users • The closer the asset, the lower the latency • CDNs have become a core piece of infrastructure for most modern web sites and services • Lots of vendors to choose from © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 44
  • 45. CDN Edge Cache Edge Cache Origin Origin Edge Cache Data Center Edge Cache © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 45
  • 46. CDN • Small object delivery – Only static assets are placed on edge caches – Users go direct to origin to get dynamic content – HTML pages reference objects on the CDN • Whole Site Delivery (Dynamic Site Acceleration) – All transactions go through CDN, even dynamic content – More than caching • Acceleration • Security • Optimization Origi – More expensive n Da © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 46
  • 47. CDN Per object TTFB savings of ~50% © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 47
  • 48. CDN: because physics!! • Well understood way to leverage science • Mitigates the latency problem by reducing it for the majority of your users • Less effective when it comes to mobile users © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 48
  • 49. Mobile Networks (3G example) © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 49
  • 50. Resource Consolidation • Eliminating round trips altogether also fights the latency problem, often more effectively Combine images into fewer "packages" © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 50
  • 51. Resource Consolidation • A number of consolidation techniques – Images (sprites) – JavaScript/CSS consolidation/concatenation – Inlining (DataURI for images) – MHTML (IE only) • Browser makes one request for the “package” • HTML is marked up so the browser can get individual resources from inside the package © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 51
  • 52. Payload Reduction • Bytes still need to get from server (cloud or otherwise) to client • Ways to reduce bytes: – HTTP compression – JS/CSS minification – Image compression (lossless or lossy) © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 52
  • 53. Payload Reduction • Any reduction in bytes will make pages load faster • This is particularly important with mobile clients © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 53
  • 54. Browser Caching • The browser cache is a resource seldom used optimally • Reasons why we generally don’t do good browser caching – Caching rules are often complicated – We never want to server stale content © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 54
  • 55. Browser Caching • Use long expiry on static objects – Served from origin – Served from CDN • Invalidation framework is a must – Protect against serving stale content – Example: versioning /images/image.jpg  /images/image.jpg?v=00001 © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 55
  • 56. Browser Caching on Mobile Platforms • Different than desktop • The cache available to the browsers is relatively small • Use HTML5’s localStorage instead of browser cache – A programmable cache, unlike HTTP object caches – Limited size (~2.5MB per domain) – Good for caching CSS/JS, and small images © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 56
  • 57. Rendering Issues • More complicated • The order of events in the browser makes a difference to how fast a page looks – Put things in the optimal order for rendering • Deferral – CSS and JS (sometimes images) • Not at the expense of a page’s start render – Asynchronous JavaScript • 3rd party services have an impact on page rendering • Above the fold vs below the fold © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 57
  • 58. “The HTML Problem” © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 58
  • 59. Performance Pain: The HTML Problem • HTML base pages are often generated after the server runs some business logic • This is typically observed as “server think time”, which affects time to first byte © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 59
  • 60. Performance Pain: The HTML Problem TTFB = Latency + Server think time • HTML base pages are often generated after the server runs some business logic • This is typically observed as “server think time”, which affects time to first byte © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 60
  • 61. Performance Pain: The HTML Problem TTFB = Latency + Server think time • HTML base pages are often generated after the server runs some business logic • This is typically observed as B “server think time”, which affects L time to first byte O C K E D © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 61
  • 62. Performance Pain: The HTML Problem TTFB = Latency + Server think time • HTML base pages are often generated after the server runs some business logic • This is typically observed as B “server think time”, which affects L time to first byte O C • Not always logic related: could K be caused by issues within the E cloud infrastructure itself D • HTML is often seen as dynamic • Cannot be cached, anywhere in the network © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 62
  • 63. HTML Caching • Some level of caching for HTML is generally a good idea • This is especially true if HTML isn’t truly dynamic and is static for small periods of time • Great for server offload • Solutions that allow granular caching of HTML © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 63
  • 64. Some Examples © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 64
  • 65. Before and After Waterfalls Before FEO After FEO First Time Visitor 58 roundtrips  5 roundtrips 4.2 seconds  1.1 seconds Repeat Visitor 57 roundtrips  4 roundtrips 3.2 seconds  0.7 seconds © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 65
  • 66. Cloud Connect Home Page © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 66
  • 67. Cloud Connect Home Page 2.8 sec 5.63 sec © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 67
  • 68. Cloud Connect Home Page FEO 2.8 sec 5.63 sec © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 68
  • 69. Cloud Connect Home Page FEO 2.8 sec To onload Before After Round Trips 122 58 5.63 sec KBytes 1024 895 © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 69
  • 70. Cloud Connect Home Page FEO Start Render: +36% 1.8 Doc Complete: +35.5% se c 2.8 sec 3.64 sec To onload Before After Round Trips 122 58 5.63 sec KBytes 1024 895 © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 70
  • 71. What Does it Look Like? http://youtu.be/uszBaW5yMI0 © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 71
  • 72. Mobile Example • Velocity Conference 2012 • Step-wise acceleration of O’reilly’s site (for a mobile phone on 3G) – Start with the original site (purposely made worse) – Add CDN – Add resource consolidation and payload reduction – Add deferrals • Examine impact of each © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 72
  • 73. What Does it Look Like? http://youtu.be/iPtbU1KvLjM © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 73
  • 74. Original Site + CDN 15.29 sec 13.7 sec © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 74
  • 75. Add Consolidation and Payload Reduction 9.47 sec To onload Before After 13.7 sec # of resources 92 28 KBytes 727 417 © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 75
  • 76. Add Deferral © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 76
  • 77. Add Deferral © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 77
  • 78. Add Deferral 2.2 sec 3.6 sec 9.47 sec 5.56 sec © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 78
  • 79. What Does it Look Like? http://youtu.be/zTTxdAtbhsg © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 79
  • 80. Summing up… © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 80
  • 81. Sounds Really Easy! • It’s not! • Some techniques are just difficult to implement • Optimizing for performance sometimes requires significant dev resources – Mortal companies can’t afford to sacrifice new feature cycles • Maintenance and upkeep is a constant problem – Every version to roll out will need optimization © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 81
  • 82. FEO Automation Industry • Solutions available to automatically do this stuff • Multiple deployment options – Software/Hardware/Service – Cloud apps will use either service or software • The goal is to “fix the code” for performance, automatically © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 82
  • 83. It Gets Complicated • Rewriting HTML can break pages • You have to do this stuff based on browser – Play to the strength of each browser (supported techniques, etc) – Stay away from their weaknesses (bugs, undocumented issues, etc) – Mobile is its own beast • Optimizing once per page isn’t enough – First view (cold cache) – Repeat view (warm cache) – User flow © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 83
  • 84. When Looking For FEO Automation • Do your research, and understand your needs • Understand the deployment model and how disruptive it will be to you, if at all • Are there provisions in place for breaking pages • Granularity in functionality: – Browser-based optimization – mobile – first/repeat views – transaction flows • Choose what’s right for you, based on your needs © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 84