SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Front End Optimization

   CloudConnect 2012


           Hooman Beheshti
      VP Technology, Strangeloop
   hooman@strangeloopnetworks.com




                                    1
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 Optimization” (FEO)
         – Sometimes called WCO or WPO



© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   2
What is FEO?




                       0      6                            12
© 2010 Strangeloop Networks       Strangeloop. Faster Websites. Automatically.   3
What is FEO?




                                                                                 DNS            TTFB




                                                                                      TCP          Download
                                                                                   Connection




                       0      6                            12
© 2010 Strangeloop Networks       Strangeloop. Faster Websites. Automatically.                            4
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.                                5
Waterfall tools: webpagetest.org




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   6
Waterfall tools: HTTPWatch




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   7
Waterfall tools: Firebug




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




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   9
Waterfall tools: PCAP2HAR




© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   10
Performance problems

• Too many round trips
         – Latency adds up


• Too many bytes
         – Last mile bandwidth isn’t
           infinite


• Poor caching
         – Coming back to the page
           must be much faster


• Poor rendering
         – Browser work takes time

© 2010 Strangeloop Networks    Strangeloop. Faster Websites. Automatically.   11
Fix it!!

• Reduce round trips
         – Use consolidation techniques
                  •   Image Sprites
                  •   JS/CSS consolidation/concatenation
                  •   Inlining
                  •   MHTML (IE only)
                  •   Etc
         – Browser makes one request to the “package”
         – HTML is marked up to look for the individual
           resources inside the package




© 2010 Strangeloop Networks          Strangeloop. Faster Websites. Automatically.   12
Fix it!!

• Reduce bytes
         – HTTP compression
         – JS/CSS minification
         – Image compression
                  • Lossless
                  • Lossy
         – Anything that can reduce bytes will help make the
           page faster




© 2010 Strangeloop Networks    Strangeloop. Faster Websites. Automatically.   13
Fix it!!

• Do good (browser) caching!
         – Long expiry on static objects
         – Reasons why we don’t do good caching
                  • Caching rules are sometimes complicated
                  • Invalidation is still a huge issue – we never want to serve
                    stale content
         – A proper caching solution must have a robust
           invalidation framework




© 2010 Strangeloop Networks          Strangeloop. Faster Websites. Automatically.   14
Fix it!!

• Address rendering issues
         – Things get more complicated here
         – The order of events matters to how fast a page
           renders on the browser
         – JavaScript and CSS
                  • JS deferral
                  • Asynchronous JS
                  • Order of elements in the page
         – Above the fold vs below the fold




© 2010 Strangeloop Networks        Strangeloop. Faster Websites. Automatically.   15
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.   16
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.   17
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)
         – Let’s not forget about mobile


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

© 2010 Strangeloop Networks   Strangeloop. Faster Websites. Automatically.   18
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?

• 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.   19
Thank you.
hooman@strangeloopnetworks.com



   strangeloopnetworks.com
   webperformancetoday.com




                                 20

Weitere ähnliche Inhalte

Was ist angesagt?

Why Open Web Standards are cool and will save the world. Or the Web, at least.
Why Open Web Standards are cool and will save the world. Or the Web, at least.Why Open Web Standards are cool and will save the world. Or the Web, at least.
Why Open Web Standards are cool and will save the world. Or the Web, at least.brucelawson
 
Java EE Servlet/JSP Tutorial- Cookbook 2
Java EE Servlet/JSP Tutorial- Cookbook 2Java EE Servlet/JSP Tutorial- Cookbook 2
Java EE Servlet/JSP Tutorial- Cookbook 2billdigman
 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-airbrucelawson
 
Optimizing Your WordPress Site: Why speed matters, and how to get there
Optimizing Your WordPress Site: Why speed matters, and how to get thereOptimizing Your WordPress Site: Why speed matters, and how to get there
Optimizing Your WordPress Site: Why speed matters, and how to get thereStephen Bell
 
Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)WordCamp Cape Town
 
20130714 php matsuri - highly available php
20130714   php matsuri - highly available php20130714   php matsuri - highly available php
20130714 php matsuri - highly available phpGraham Weldon
 
Improving Drupal's Page Loading Performance
Improving Drupal's Page Loading PerformanceImproving Drupal's Page Loading Performance
Improving Drupal's Page Loading PerformanceWim Leers
 
"Turbo boost your website" aka BigPipe at Webinale 2014 in Berlin
"Turbo boost your website" aka BigPipe at Webinale 2014 in Berlin"Turbo boost your website" aka BigPipe at Webinale 2014 in Berlin
"Turbo boost your website" aka BigPipe at Webinale 2014 in BerlinTobias Zander
 
Websockets at tossug
Websockets at tossugWebsockets at tossug
Websockets at tossugclkao
 
Interactions complicate debugging
Interactions complicate debuggingInteractions complicate debugging
Interactions complicate debuggingSyed Zaid Irshad
 
Speed Up Wordpress Wordcamp Pdx 2009
Speed Up Wordpress Wordcamp Pdx 2009Speed Up Wordpress Wordcamp Pdx 2009
Speed Up Wordpress Wordcamp Pdx 2009Jason Grigsby
 
Altitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the EdgeAltitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the EdgeFastly
 

Was ist angesagt? (16)

Php push notifications
Php push notificationsPhp push notifications
Php push notifications
 
Why Open Web Standards are cool and will save the world. Or the Web, at least.
Why Open Web Standards are cool and will save the world. Or the Web, at least.Why Open Web Standards are cool and will save the world. Or the Web, at least.
Why Open Web Standards are cool and will save the world. Or the Web, at least.
 
Web tech 101
Web tech 101Web tech 101
Web tech 101
 
Java EE Servlet/JSP Tutorial- Cookbook 2
Java EE Servlet/JSP Tutorial- Cookbook 2Java EE Servlet/JSP Tutorial- Cookbook 2
Java EE Servlet/JSP Tutorial- Cookbook 2
 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-air
 
Optimizing Your WordPress Site: Why speed matters, and how to get there
Optimizing Your WordPress Site: Why speed matters, and how to get thereOptimizing Your WordPress Site: Why speed matters, and how to get there
Optimizing Your WordPress Site: Why speed matters, and how to get there
 
[In Control 2010] HTML5
[In Control 2010] HTML5[In Control 2010] HTML5
[In Control 2010] HTML5
 
Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)
 
20130714 php matsuri - highly available php
20130714   php matsuri - highly available php20130714   php matsuri - highly available php
20130714 php matsuri - highly available php
 
Improving Drupal's Page Loading Performance
Improving Drupal's Page Loading PerformanceImproving Drupal's Page Loading Performance
Improving Drupal's Page Loading Performance
 
"Turbo boost your website" aka BigPipe at Webinale 2014 in Berlin
"Turbo boost your website" aka BigPipe at Webinale 2014 in Berlin"Turbo boost your website" aka BigPipe at Webinale 2014 in Berlin
"Turbo boost your website" aka BigPipe at Webinale 2014 in Berlin
 
Websockets at tossug
Websockets at tossugWebsockets at tossug
Websockets at tossug
 
Interactions complicate debugging
Interactions complicate debuggingInteractions complicate debugging
Interactions complicate debugging
 
HTTP2 is Here!
HTTP2 is Here!HTTP2 is Here!
HTTP2 is Here!
 
Speed Up Wordpress Wordcamp Pdx 2009
Speed Up Wordpress Wordcamp Pdx 2009Speed Up Wordpress Wordcamp Pdx 2009
Speed Up Wordpress Wordcamp Pdx 2009
 
Altitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the EdgeAltitude San Francisco 2018: Programming the Edge
Altitude San Francisco 2018: Programming the Edge
 

Ähnlich wie Front End Optimization Techniques and Automation

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
 
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
 
Cloud Connect Santa Clara 2013: Web Acceleration and Front-End Optimization (...
Cloud Connect Santa Clara 2013: Web Acceleration and Front-End Optimization (...Cloud Connect Santa Clara 2013: Web Acceleration and Front-End Optimization (...
Cloud Connect Santa Clara 2013: Web Acceleration and Front-End Optimization (...Strangeloop
 
WebsitePerformance
WebsitePerformanceWebsitePerformance
WebsitePerformanceVivek Jain
 
Step by Step Mobile Optimization
Step by Step Mobile OptimizationStep by Step Mobile Optimization
Step by Step Mobile OptimizationGuy Podjarny
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonNeotys
 
Web Performance in the Age of HTTP/2 - FEDay Conference, Guangzhou, China 19/...
Web Performance in the Age of HTTP/2 - FEDay Conference, Guangzhou, China 19/...Web Performance in the Age of HTTP/2 - FEDay Conference, Guangzhou, China 19/...
Web Performance in the Age of HTTP/2 - FEDay Conference, Guangzhou, China 19/...Holger Bartel
 
SPDY and What to Consider for HTTP/2.0
SPDY and What to Consider for HTTP/2.0SPDY and What to Consider for HTTP/2.0
SPDY and What to Consider for HTTP/2.0Mike Belshe
 
HTTP/2 and a Faster Web
HTTP/2 and a Faster WebHTTP/2 and a Faster Web
HTTP/2 and a Faster WebC4Media
 
HTTP/2 turns 3 years old // Web Performance Meetup wao.io 20180612
HTTP/2 turns 3 years old // Web Performance Meetup wao.io 20180612HTTP/2 turns 3 years old // Web Performance Meetup wao.io 20180612
HTTP/2 turns 3 years old // Web Performance Meetup wao.io 20180612Avenga Germany GmbH
 
My site is slow
My site is slowMy site is slow
My site is slowhernanibf
 
Extreme Web Performance for Mobile Device Fluent 2015
Extreme Web Performance for Mobile Device Fluent 2015Extreme Web Performance for Mobile Device Fluent 2015
Extreme Web Performance for Mobile Device Fluent 2015Maximiliano Firtman
 
How to run a bank on Apache CloudStack
How to run a bank on Apache CloudStackHow to run a bank on Apache CloudStack
How to run a bank on Apache CloudStackgjdevos
 
Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile DevicesExtreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile DevicesMaximiliano Firtman
 
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
 

Ähnlich wie Front End Optimization Techniques and Automation (20)

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
 
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...
 
Cloud Connect Santa Clara 2013: Web Acceleration and Front-End Optimization (...
Cloud Connect Santa Clara 2013: Web Acceleration and Front-End Optimization (...Cloud Connect Santa Clara 2013: Web Acceleration and Front-End Optimization (...
Cloud Connect Santa Clara 2013: Web Acceleration and Front-End Optimization (...
 
WebsitePerformance
WebsitePerformanceWebsitePerformance
WebsitePerformance
 
Step by Step Mobile Optimization
Step by Step Mobile OptimizationStep by Step Mobile Optimization
Step by Step Mobile Optimization
 
SPDY
SPDYSPDY
SPDY
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark Tomlinson
 
Web Performance in the Age of HTTP/2 - FEDay Conference, Guangzhou, China 19/...
Web Performance in the Age of HTTP/2 - FEDay Conference, Guangzhou, China 19/...Web Performance in the Age of HTTP/2 - FEDay Conference, Guangzhou, China 19/...
Web Performance in the Age of HTTP/2 - FEDay Conference, Guangzhou, China 19/...
 
SPDY and What to Consider for HTTP/2.0
SPDY and What to Consider for HTTP/2.0SPDY and What to Consider for HTTP/2.0
SPDY and What to Consider for HTTP/2.0
 
HTTP/2 and a Faster Web
HTTP/2 and a Faster WebHTTP/2 and a Faster Web
HTTP/2 and a Faster Web
 
HTTP/2 turns 3 years old // Web Performance Meetup wao.io 20180612
HTTP/2 turns 3 years old // Web Performance Meetup wao.io 20180612HTTP/2 turns 3 years old // Web Performance Meetup wao.io 20180612
HTTP/2 turns 3 years old // Web Performance Meetup wao.io 20180612
 
SPDY
SPDYSPDY
SPDY
 
My site is slow
My site is slowMy site is slow
My site is slow
 
Extreme Web Performance for Mobile Device Fluent 2015
Extreme Web Performance for Mobile Device Fluent 2015Extreme Web Performance for Mobile Device Fluent 2015
Extreme Web Performance for Mobile Device Fluent 2015
 
How to run a bank on Apache CloudStack
How to run a bank on Apache CloudStackHow to run a bank on Apache CloudStack
How to run a bank on Apache CloudStack
 
Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile DevicesExtreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile Devices
 
Performance tuning of Websites
Performance tuning of WebsitesPerformance tuning of Websites
Performance tuning of Websites
 
Performance tuning PHP on IBMi
Performance tuning PHP on IBMiPerformance tuning PHP on IBMi
Performance tuning PHP on IBMi
 
Web Performance Optimization (WPO)
Web Performance Optimization (WPO)Web Performance Optimization (WPO)
Web Performance Optimization (WPO)
 
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
 

Mehr von Strangeloop

37 Lessons I've Learned on the Performance Front Lines [WebPerfDays 2012]
37 Lessons I've Learned on the Performance Front Lines [WebPerfDays 2012]37 Lessons I've Learned on the Performance Front Lines [WebPerfDays 2012]
37 Lessons I've Learned on the Performance Front Lines [WebPerfDays 2012]Strangeloop
 
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
 
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
 
Advanced Mobile Optimization: How does it work? How do we measure success?
Advanced Mobile Optimization: How does it work? How do we measure success?Advanced Mobile Optimization: How does it work? How do we measure success?
Advanced Mobile Optimization: How does it work? How do we measure success?Strangeloop
 
London Web Performance Meetup: Performance for mortal companies
London Web Performance Meetup: Performance for mortal companiesLondon Web Performance Meetup: Performance for mortal companies
London Web Performance Meetup: Performance for mortal companiesStrangeloop
 
Performance in business terms
Performance in business termsPerformance in business terms
Performance in business termsStrangeloop
 
Web Performance Automation - NY Web Performance Meetup
Web Performance Automation - NY Web Performance MeetupWeb Performance Automation - NY Web Performance Meetup
Web Performance Automation - NY Web Performance MeetupStrangeloop
 
Velocity 2010: Performance Impact, Part Two: More Findings from the Front Lin...
Velocity 2010: Performance Impact, Part Two: More Findings from the Front Lin...Velocity 2010: Performance Impact, Part Two: More Findings from the Front Lin...
Velocity 2010: Performance Impact, Part Two: More Findings from the Front Lin...Strangeloop
 

Mehr von Strangeloop (8)

37 Lessons I've Learned on the Performance Front Lines [WebPerfDays 2012]
37 Lessons I've Learned on the Performance Front Lines [WebPerfDays 2012]37 Lessons I've Learned on the Performance Front Lines [WebPerfDays 2012]
37 Lessons I've Learned on the Performance Front Lines [WebPerfDays 2012]
 
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]
 
Marrying CDNs with Front-End Optimization
Marrying CDNs with Front-End Optimization Marrying CDNs with Front-End Optimization
Marrying CDNs with Front-End Optimization
 
Advanced Mobile Optimization: How does it work? How do we measure success?
Advanced Mobile Optimization: How does it work? How do we measure success?Advanced Mobile Optimization: How does it work? How do we measure success?
Advanced Mobile Optimization: How does it work? How do we measure success?
 
London Web Performance Meetup: Performance for mortal companies
London Web Performance Meetup: Performance for mortal companiesLondon Web Performance Meetup: Performance for mortal companies
London Web Performance Meetup: Performance for mortal companies
 
Performance in business terms
Performance in business termsPerformance in business terms
Performance in business terms
 
Web Performance Automation - NY Web Performance Meetup
Web Performance Automation - NY Web Performance MeetupWeb Performance Automation - NY Web Performance Meetup
Web Performance Automation - NY Web Performance Meetup
 
Velocity 2010: Performance Impact, Part Two: More Findings from the Front Lin...
Velocity 2010: Performance Impact, Part Two: More Findings from the Front Lin...Velocity 2010: Performance Impact, Part Two: More Findings from the Front Lin...
Velocity 2010: Performance Impact, Part Two: More Findings from the Front Lin...
 

Kürzlich hochgeladen

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Kürzlich hochgeladen (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

Front End Optimization Techniques and Automation

  • 1. Front End Optimization CloudConnect 2012 Hooman Beheshti VP Technology, Strangeloop hooman@strangeloopnetworks.com 1
  • 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 Optimization” (FEO) – Sometimes called WCO or WPO © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 2
  • 3. What is FEO? 0 6 12 © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 3
  • 4. What is FEO? DNS TTFB TCP Download Connection 0 6 12 © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 4
  • 5. 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. 5
  • 6. Waterfall tools: webpagetest.org © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 6
  • 7. Waterfall tools: HTTPWatch © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 7
  • 8. Waterfall tools: Firebug © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 8
  • 9. Waterfall tools: WebKit Dev Tools © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 9
  • 10. Waterfall tools: PCAP2HAR © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 10
  • 11. Performance problems • Too many round trips – Latency adds up • Too many bytes – Last mile bandwidth isn’t infinite • Poor caching – Coming back to the page must be much faster • Poor rendering – Browser work takes time © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 11
  • 12. Fix it!! • Reduce round trips – Use consolidation techniques • Image Sprites • JS/CSS consolidation/concatenation • Inlining • MHTML (IE only) • Etc – Browser makes one request to the “package” – HTML is marked up to look for the individual resources inside the package © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 12
  • 13. Fix it!! • Reduce bytes – HTTP compression – JS/CSS minification – Image compression • Lossless • Lossy – Anything that can reduce bytes will help make the page faster © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 13
  • 14. Fix it!! • Do good (browser) caching! – Long expiry on static objects – Reasons why we don’t do good caching • Caching rules are sometimes complicated • Invalidation is still a huge issue – we never want to serve stale content – A proper caching solution must have a robust invalidation framework © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 14
  • 15. Fix it!! • Address rendering issues – Things get more complicated here – The order of events matters to how fast a page renders on the browser – JavaScript and CSS • JS deferral • Asynchronous JS • Order of elements in the page – Above the fold vs below the fold © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 15
  • 16. 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. 16
  • 17. 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. 17
  • 18. 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) – Let’s not forget about mobile • Optimizing once per page isn’t enough – First view (cold cache) – Repeat view (warm cache) – User flow © 2010 Strangeloop Networks Strangeloop. Faster Websites. Automatically. 18
  • 19. 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? • 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. 19
  • 20. Thank you. hooman@strangeloopnetworks.com strangeloopnetworks.com webperformancetoday.com 20