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

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
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
🐬 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
 
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
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Kürzlich hochgeladen (20)

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...
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

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