SlideShare a Scribd company logo
Speed!... it up please
     Rafael Corral, Lead Developer 'corePHP'
                            CMS Expo 2011
Hi!


  Lead Developer @ 'corePHP'
  Creator of WordPress for Joomla
  Creator of JPhoto
  Creator of jomCDN
Speed? Who cares?

  Your customers!
     Customer satisfaction is important!
     Happy customers = Returning customers
  You
     SEO Improvements
     More page views
     Improved server performance
     Higher conversion rates
Discovery

  Who takes performance seriously?
  Custom developed extensions for a CMS?
  Do you rely on your website for most of your
   income?
  Has no interest in looking at any code?
What we think we are delivering…
What we actually deliver…
Why is my website slow?

  How slow is slow?
  Too many assets
  Images not optimized
  Files not compressed
  Slow server
  No caching
  No CDN
Your users are what matter!

  Users are likely to leave when waiting
  Akamai sets the bar to 2 seconds
  Google sets the bar to 1.5 seconds
  50% of users stated that a quick site is
   important for loyalty
Your Goal: Reduce HTTP Requests
           Less is more
         Keep this in mind!
Combine, combine, combine!

  Combine all scripts into one script
  Even if they are not needed for that page
  Combine all CSS into a single style sheet
  CSS can be tricky mostly when using a CMS




                                         Step 1
Optimize images & CSS Sprites

  Convert GIFs to PNGs, possible savings
  http://www.smushit.com/ysmush.it/
  Combine images to reduce HTTP requests
  Group them by color
  Arrange images horizontally (smaller file sizes)




                                              Step 2
Optimize, Compress & Gzip

  Optimize JS
    http://closure-compiler.appspot.com/home
  Compress CSS and JS
    http://refresh-sf.com/yui/
    http://tools.w3clubs.com/cssmin/
  Gzip CSS and JS before sending them to the
   browser




                                                Step 3
Script Placement

  Place Stylesheets at the top
     Inside the <head> tag
  Place Scripts at the bottom
     Before the ending </body> tag




                                      Step 4
No 404s

  HTTP calls are expensive!
  Useless calls are even worse
  If a css or js is not there, the browser tries
   to parse through that 404 page that the
   server returns.




                                                    Step 5
Use a CDN

  Focus on dispersing static content only
    Images, CSS, JS, Flash, etc...
  Separate assets across domains
    No more than 4 different domains


  WordPress – W3 Total Cache
  http://drupal.org/project/cdn
  http://extensions.joomla.org/extensions/site-
   management/content-networking


                                             Step 6
Cache

  Server cache
    APC
    Opcode
  Browser cache
    Expires
    Cache-Control
    ETags




                     Step 7
Testing

  Total page load time
  Total page size
  Number of assets
  Time to render
  Check Google Analytics statistics




                                       Step 8
Tools

  YSlow
  Google Pagespeed
  Pingdom
  http://code.google.com/speed/
Examples

   Combined Files
     `corePHP`
   Optimized images, CSS Sprites and pre-loading
     Google.com
   Script placement
   CDN
     Google Maps
   Caching
     Mashable
Examples

   <FilesMatch "(?i)^.*.(ico|jpg|jpeg|png|js|css)$">
   Header unset Last-Modified
   Header set Expires "Fri, 21 Dec 2012 00:00:00
    GMT”
   Header set Cache-Control "public, no-transform”
   </FilesMatch>
Developer improvements

  Use GET for AJAX requests
  Uses one TCP packet instead of two
  Post-load components
    Load the JavaScript to do animation only when needed
    Load images that are not needed
  Preload components
    Unconditional
    Conditional
    Anticipated
  Use <link> over @import
Developer improvements

  Reduce number of DOM Elements
  Don't scale images in HTML
  Keep components under 25k
     iPhone does not cache anything bigger
  Avoid empty src=""
  Lazy load images
What about the server?

  Think about the 80/20 rule
  Ideally the page should be stitched together in
   200-500ms
      A page should load in 1.5 seconds
      ~20% of the time you spend requesting the
       HTML
  ~80% is spent retrieving the assets
      Images
      CSS
      and JS files
Thank you!

Questions? or Site review?
References
  http://www.akamai.com/html/about/press/releases/2009/
   press_091409.html
  http://www.google.com/support/webmasters/bin/static.py?
   page=checklist.cs&tab=1095542
  http://tools.pingdom.com/fpt/
  http://googlewebmastercentral.blogspot.com/2010/04/using-site-
   speed-in-web-search-ranking.html
  http://glinden.blogspot.com/2006/11/marissa-mayer-at-
   web-20.html
  http://radar.oreilly.com/2008/08/radar-theme-web-ops.html
  http://developer.yahoo.com/performance/rules.html
  http://www.alistapart.com/articles/sprites

More Related Content

What's hot

Optimizing web performance (Fronteers edition)
Optimizing web performance (Fronteers edition)Optimizing web performance (Fronteers edition)
Optimizing web performance (Fronteers edition)
Dave Olsen
 
Web performance
Web performanceWeb performance
Web performance
Islam AlZatary
 
WordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & TuningWordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & Tuning
Timothy Wood
 
Building faster websites: web performance with WordPress
Building faster websites: web performance with WordPressBuilding faster websites: web performance with WordPress
Building faster websites: web performance with WordPress
Johannes Siipola
 
Optimizing WordPress - WordPress SF Meetup April 2012
Optimizing WordPress -  WordPress SF Meetup April 2012Optimizing WordPress -  WordPress SF Meetup April 2012
Optimizing WordPress - WordPress SF Meetup April 2012Ben Metcalfe
 
The Power of a Video Library - WordCamp Raleigh
The  Power of a Video Library - WordCamp RaleighThe  Power of a Video Library - WordCamp Raleigh
The Power of a Video Library - WordCamp Raleigh
Lauren Jeffcoat
 
Wordpress Page Load Speed - Kenneth sytian
Wordpress Page Load Speed - Kenneth sytianWordpress Page Load Speed - Kenneth sytian
Wordpress Page Load Speed - Kenneth sytian
Grant Merriel
 
Optimizing the performance of WordPress
Optimizing the performance of WordPressOptimizing the performance of WordPress
Optimizing the performance of WordPress
Josh Highland Giese
 
Front-End Performance Optimizing
Front-End Performance OptimizingFront-End Performance Optimizing
Front-End Performance Optimizing
Michael Pehl
 
Front End Website Optimization
Front End Website OptimizationFront End Website Optimization
Front End Website Optimization
Gerard Sychay
 
Minimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tipsMinimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tips
CgColors
 
Speed up your site! #wcmtl2015 by Meagan Hanes
Speed up your site! #wcmtl2015 by Meagan HanesSpeed up your site! #wcmtl2015 by Meagan Hanes
Speed up your site! #wcmtl2015 by Meagan HanesMeagan Hanes
 
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
Stephen Bell
 
Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web development
Alberto Apellidos
 
WordCamp Kent 2019 - WP 101: Local Development - Themes and Plugins
WordCamp Kent 2019 - WP 101: Local Development - Themes and PluginsWordCamp Kent 2019 - WP 101: Local Development - Themes and Plugins
WordCamp Kent 2019 - WP 101: Local Development - Themes and Plugins
Joe Querin
 
Need for Speed: Website Edition – Website Optimization Tools and Techniques P...
Need for Speed: Website Edition – Website Optimization Tools and Techniques P...Need for Speed: Website Edition – Website Optimization Tools and Techniques P...
Need for Speed: Website Edition – Website Optimization Tools and Techniques P...
Devin Walker
 
Speed Up Wordpress, Wordpress Horsepower
Speed Up Wordpress, Wordpress HorsepowerSpeed Up Wordpress, Wordpress Horsepower
Speed Up Wordpress, Wordpress Horsepower
Ross Johnson
 

What's hot (20)

Presentation1
Presentation1Presentation1
Presentation1
 
Optimizing web performance (Fronteers edition)
Optimizing web performance (Fronteers edition)Optimizing web performance (Fronteers edition)
Optimizing web performance (Fronteers edition)
 
Web performance
Web performanceWeb performance
Web performance
 
WordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & TuningWordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & Tuning
 
Building faster websites: web performance with WordPress
Building faster websites: web performance with WordPressBuilding faster websites: web performance with WordPress
Building faster websites: web performance with WordPress
 
Optimizing WordPress - WordPress SF Meetup April 2012
Optimizing WordPress -  WordPress SF Meetup April 2012Optimizing WordPress -  WordPress SF Meetup April 2012
Optimizing WordPress - WordPress SF Meetup April 2012
 
The Power of a Video Library - WordCamp Raleigh
The  Power of a Video Library - WordCamp RaleighThe  Power of a Video Library - WordCamp Raleigh
The Power of a Video Library - WordCamp Raleigh
 
Wordpress Page Load Speed - Kenneth sytian
Wordpress Page Load Speed - Kenneth sytianWordpress Page Load Speed - Kenneth sytian
Wordpress Page Load Speed - Kenneth sytian
 
Optimizing the performance of WordPress
Optimizing the performance of WordPressOptimizing the performance of WordPress
Optimizing the performance of WordPress
 
Front-End Performance Optimizing
Front-End Performance OptimizingFront-End Performance Optimizing
Front-End Performance Optimizing
 
Front End Website Optimization
Front End Website OptimizationFront End Website Optimization
Front End Website Optimization
 
Minimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tipsMinimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tips
 
Speed up your site! #wcmtl2015 by Meagan Hanes
Speed up your site! #wcmtl2015 by Meagan HanesSpeed up your site! #wcmtl2015 by Meagan Hanes
Speed up your site! #wcmtl2015 by Meagan Hanes
 
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
 
Meta Refresh 2014
Meta Refresh 2014Meta Refresh 2014
Meta Refresh 2014
 
Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web development
 
WordCamp Kent 2019 - WP 101: Local Development - Themes and Plugins
WordCamp Kent 2019 - WP 101: Local Development - Themes and PluginsWordCamp Kent 2019 - WP 101: Local Development - Themes and Plugins
WordCamp Kent 2019 - WP 101: Local Development - Themes and Plugins
 
Need for Speed: Website Edition – Website Optimization Tools and Techniques P...
Need for Speed: Website Edition – Website Optimization Tools and Techniques P...Need for Speed: Website Edition – Website Optimization Tools and Techniques P...
Need for Speed: Website Edition – Website Optimization Tools and Techniques P...
 
Metarefresh
MetarefreshMetarefresh
Metarefresh
 
Speed Up Wordpress, Wordpress Horsepower
Speed Up Wordpress, Wordpress HorsepowerSpeed Up Wordpress, Wordpress Horsepower
Speed Up Wordpress, Wordpress Horsepower
 

Viewers also liked

PHP 5
PHP 5PHP 5
Developing social media guidelines for education, training and change managem...
Developing social media guidelines for education, training and change managem...Developing social media guidelines for education, training and change managem...
Developing social media guidelines for education, training and change managem...
UBC eHealth Strategy Office
 
TEKTIC: An overview of a Canadian university eHealth research collaboration
TEKTIC: An overview of a Canadian university eHealth research collaborationTEKTIC: An overview of a Canadian university eHealth research collaboration
TEKTIC: An overview of a Canadian university eHealth research collaboration
UBC eHealth Strategy Office
 
2D barcodes (QR codes) and their applications
2D barcodes (QR codes) and their applications2D barcodes (QR codes) and their applications
2D barcodes (QR codes) and their applications
UBC eHealth Strategy Office
 
Remote Hands-On "YouTube" Mediated Education: What is the RHYME project?
Remote Hands-On "YouTube" Mediated Education: What is the RHYME project?Remote Hands-On "YouTube" Mediated Education: What is the RHYME project?
Remote Hands-On "YouTube" Mediated Education: What is the RHYME project?
UBC eHealth Strategy Office
 
Chairman maotemplate
Chairman maotemplateChairman maotemplate
Chairman maotemplatebrycep711
 
Dream trip project
Dream trip projectDream trip project
Dream trip projectbrycep711
 
Thrillers
ThrillersThrillers
Thrillers
megi93
 
Joomla 1.7 development
Joomla 1.7 developmentJoomla 1.7 development
Joomla 1.7 developmentRafael Corral
 
Leveraging Mobile Technologies for Mental Health
Leveraging Mobile Technologies for Mental HealthLeveraging Mobile Technologies for Mental Health
Leveraging Mobile Technologies for Mental Health
UBC eHealth Strategy Office
 
Health care, startups and technology culture at #sxsw 2012
Health care, startups and technology culture at #sxsw 2012Health care, startups and technology culture at #sxsw 2012
Health care, startups and technology culture at #sxsw 2012
UBC eHealth Strategy Office
 
Green marketing (r)evolution
Green marketing (r)evolutionGreen marketing (r)evolution
Green marketing (r)evolution
Giuseppe Storelli
 
Green Marketing Revolution
Green Marketing RevolutionGreen Marketing Revolution
Green Marketing Revolution
Giuseppe Storelli
 

Viewers also liked (15)

PHP 5
PHP 5PHP 5
PHP 5
 
Developing social media guidelines for education, training and change managem...
Developing social media guidelines for education, training and change managem...Developing social media guidelines for education, training and change managem...
Developing social media guidelines for education, training and change managem...
 
TEKTIC: An overview of a Canadian university eHealth research collaboration
TEKTIC: An overview of a Canadian university eHealth research collaborationTEKTIC: An overview of a Canadian university eHealth research collaboration
TEKTIC: An overview of a Canadian university eHealth research collaboration
 
Online Risk Assessment for the General Public
Online Risk Assessment for the General Public Online Risk Assessment for the General Public
Online Risk Assessment for the General Public
 
2D barcodes (QR codes) and their applications
2D barcodes (QR codes) and their applications2D barcodes (QR codes) and their applications
2D barcodes (QR codes) and their applications
 
Remote Hands-On "YouTube" Mediated Education: What is the RHYME project?
Remote Hands-On "YouTube" Mediated Education: What is the RHYME project?Remote Hands-On "YouTube" Mediated Education: What is the RHYME project?
Remote Hands-On "YouTube" Mediated Education: What is the RHYME project?
 
Chairman maotemplate
Chairman maotemplateChairman maotemplate
Chairman maotemplate
 
Dream trip project
Dream trip projectDream trip project
Dream trip project
 
Thrillers
ThrillersThrillers
Thrillers
 
Joomla 1.7 development
Joomla 1.7 developmentJoomla 1.7 development
Joomla 1.7 development
 
Media evaluation
Media evaluationMedia evaluation
Media evaluation
 
Leveraging Mobile Technologies for Mental Health
Leveraging Mobile Technologies for Mental HealthLeveraging Mobile Technologies for Mental Health
Leveraging Mobile Technologies for Mental Health
 
Health care, startups and technology culture at #sxsw 2012
Health care, startups and technology culture at #sxsw 2012Health care, startups and technology culture at #sxsw 2012
Health care, startups and technology culture at #sxsw 2012
 
Green marketing (r)evolution
Green marketing (r)evolutionGreen marketing (r)evolution
Green marketing (r)evolution
 
Green Marketing Revolution
Green Marketing RevolutionGreen Marketing Revolution
Green Marketing Revolution
 

Similar to Speed!

High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax Applications
Siarhei Barysiuk
 
Frontend performance
Frontend performanceFrontend performance
Frontend performance
sacred 8
 
DrupalCampLA 2011 - Drupal frontend-optimizing
DrupalCampLA 2011 - Drupal frontend-optimizingDrupalCampLA 2011 - Drupal frontend-optimizing
DrupalCampLA 2011 - Drupal frontend-optimizing
Ashok Modi
 
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
10 Tips to make your Website lightning-fast - SMX Stockholm 201210 Tips to make your Website lightning-fast - SMX Stockholm 2012
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
Bastian Grimm
 
High Performance Websites
High Performance WebsitesHigh Performance Websites
High Performance Websites
Aaron Grogg
 
Drupal Frontend Performance and Scalability
Drupal Frontend Performance and ScalabilityDrupal Frontend Performance and Scalability
Drupal Frontend Performance and ScalabilityAshok Modi
 
The Need for Speed - SMX Sydney 2013
The Need for Speed - SMX Sydney 2013The Need for Speed - SMX Sydney 2013
The Need for Speed - SMX Sydney 2013
Bastian Grimm
 
Heavy Web Optimization: Frontend
Heavy Web Optimization: FrontendHeavy Web Optimization: Frontend
Heavy Web Optimization: Frontend
Võ Duy Tuấn
 
Template tuning for high performance
Template tuning for high performanceTemplate tuning for high performance
Template tuning for high performance
Chris Davenport
 
Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...
Thomas Audunhus
 
High Performance Web Pages - 20 new best practices
High Performance Web Pages - 20 new best practicesHigh Performance Web Pages - 20 new best practices
High Performance Web Pages - 20 new best practicesStoyan Stefanov
 
Website Performance
Website PerformanceWebsite Performance
Website PerformanceHugo Fonseca
 
Performace optimization (increase website speed)
Performace optimization (increase website speed)Performace optimization (increase website speed)
Performace optimization (increase website speed)
clickramanm
 
23 Ways To Speed Up WordPress
23 Ways To Speed Up WordPress23 Ways To Speed Up WordPress
23 Ways To Speed Up WordPress
Zero Point Development
 
High-Speed HTML5
High-Speed HTML5High-Speed HTML5
High-Speed HTML5
Peter Lubbers
 
Website optimization
Website optimizationWebsite optimization
Website optimization
Mindfire Solutions
 
Client Side Performance @ Xero
Client Side Performance @ XeroClient Side Performance @ Xero
Client Side Performance @ Xero
Craig Walker
 
performance.ppt
performance.pptperformance.ppt
performance.ppt
fakeaccount225095
 
Caching 101
Caching 101Caching 101
Caching 101
Andy Melichar
 
WordPress website optimization
WordPress website optimizationWordPress website optimization
WordPress website optimization
Daniel Kanchev
 

Similar to Speed! (20)

High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax Applications
 
Frontend performance
Frontend performanceFrontend performance
Frontend performance
 
DrupalCampLA 2011 - Drupal frontend-optimizing
DrupalCampLA 2011 - Drupal frontend-optimizingDrupalCampLA 2011 - Drupal frontend-optimizing
DrupalCampLA 2011 - Drupal frontend-optimizing
 
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
10 Tips to make your Website lightning-fast - SMX Stockholm 201210 Tips to make your Website lightning-fast - SMX Stockholm 2012
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
 
High Performance Websites
High Performance WebsitesHigh Performance Websites
High Performance Websites
 
Drupal Frontend Performance and Scalability
Drupal Frontend Performance and ScalabilityDrupal Frontend Performance and Scalability
Drupal Frontend Performance and Scalability
 
The Need for Speed - SMX Sydney 2013
The Need for Speed - SMX Sydney 2013The Need for Speed - SMX Sydney 2013
The Need for Speed - SMX Sydney 2013
 
Heavy Web Optimization: Frontend
Heavy Web Optimization: FrontendHeavy Web Optimization: Frontend
Heavy Web Optimization: Frontend
 
Template tuning for high performance
Template tuning for high performanceTemplate tuning for high performance
Template tuning for high performance
 
Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...
 
High Performance Web Pages - 20 new best practices
High Performance Web Pages - 20 new best practicesHigh Performance Web Pages - 20 new best practices
High Performance Web Pages - 20 new best practices
 
Website Performance
Website PerformanceWebsite Performance
Website Performance
 
Performace optimization (increase website speed)
Performace optimization (increase website speed)Performace optimization (increase website speed)
Performace optimization (increase website speed)
 
23 Ways To Speed Up WordPress
23 Ways To Speed Up WordPress23 Ways To Speed Up WordPress
23 Ways To Speed Up WordPress
 
High-Speed HTML5
High-Speed HTML5High-Speed HTML5
High-Speed HTML5
 
Website optimization
Website optimizationWebsite optimization
Website optimization
 
Client Side Performance @ Xero
Client Side Performance @ XeroClient Side Performance @ Xero
Client Side Performance @ Xero
 
performance.ppt
performance.pptperformance.ppt
performance.ppt
 
Caching 101
Caching 101Caching 101
Caching 101
 
WordPress website optimization
WordPress website optimizationWordPress website optimization
WordPress website optimization
 

Recently uploaded

From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 

Recently uploaded (20)

From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 

Speed!

  • 1. Speed!... it up please Rafael Corral, Lead Developer 'corePHP' CMS Expo 2011
  • 2. Hi!   Lead Developer @ 'corePHP'   Creator of WordPress for Joomla   Creator of JPhoto   Creator of jomCDN
  • 3. Speed? Who cares?   Your customers!   Customer satisfaction is important!   Happy customers = Returning customers   You   SEO Improvements   More page views   Improved server performance   Higher conversion rates
  • 4. Discovery   Who takes performance seriously?   Custom developed extensions for a CMS?   Do you rely on your website for most of your income?   Has no interest in looking at any code?
  • 5. What we think we are delivering…
  • 6. What we actually deliver…
  • 7. Why is my website slow?   How slow is slow?   Too many assets   Images not optimized   Files not compressed   Slow server   No caching   No CDN
  • 8. Your users are what matter!   Users are likely to leave when waiting   Akamai sets the bar to 2 seconds   Google sets the bar to 1.5 seconds   50% of users stated that a quick site is important for loyalty
  • 9. Your Goal: Reduce HTTP Requests Less is more Keep this in mind!
  • 10. Combine, combine, combine!   Combine all scripts into one script   Even if they are not needed for that page   Combine all CSS into a single style sheet   CSS can be tricky mostly when using a CMS Step 1
  • 11. Optimize images & CSS Sprites   Convert GIFs to PNGs, possible savings   http://www.smushit.com/ysmush.it/   Combine images to reduce HTTP requests   Group them by color   Arrange images horizontally (smaller file sizes) Step 2
  • 12. Optimize, Compress & Gzip   Optimize JS   http://closure-compiler.appspot.com/home   Compress CSS and JS   http://refresh-sf.com/yui/   http://tools.w3clubs.com/cssmin/   Gzip CSS and JS before sending them to the browser Step 3
  • 13. Script Placement   Place Stylesheets at the top   Inside the <head> tag   Place Scripts at the bottom   Before the ending </body> tag Step 4
  • 14. No 404s   HTTP calls are expensive!   Useless calls are even worse   If a css or js is not there, the browser tries to parse through that 404 page that the server returns. Step 5
  • 15. Use a CDN   Focus on dispersing static content only   Images, CSS, JS, Flash, etc...   Separate assets across domains   No more than 4 different domains   WordPress – W3 Total Cache   http://drupal.org/project/cdn   http://extensions.joomla.org/extensions/site- management/content-networking Step 6
  • 16. Cache   Server cache   APC   Opcode   Browser cache   Expires   Cache-Control   ETags Step 7
  • 17. Testing   Total page load time   Total page size   Number of assets   Time to render   Check Google Analytics statistics Step 8
  • 18. Tools   YSlow   Google Pagespeed   Pingdom   http://code.google.com/speed/
  • 19. Examples   Combined Files   `corePHP`   Optimized images, CSS Sprites and pre-loading   Google.com   Script placement   CDN   Google Maps   Caching   Mashable
  • 20. Examples   <FilesMatch "(?i)^.*.(ico|jpg|jpeg|png|js|css)$">   Header unset Last-Modified   Header set Expires "Fri, 21 Dec 2012 00:00:00 GMT”   Header set Cache-Control "public, no-transform”   </FilesMatch>
  • 21. Developer improvements   Use GET for AJAX requests   Uses one TCP packet instead of two   Post-load components   Load the JavaScript to do animation only when needed   Load images that are not needed   Preload components   Unconditional   Conditional   Anticipated   Use <link> over @import
  • 22. Developer improvements   Reduce number of DOM Elements   Don't scale images in HTML   Keep components under 25k   iPhone does not cache anything bigger   Avoid empty src=""   Lazy load images
  • 23. What about the server?   Think about the 80/20 rule   Ideally the page should be stitched together in 200-500ms   A page should load in 1.5 seconds   ~20% of the time you spend requesting the HTML   ~80% is spent retrieving the assets   Images   CSS   and JS files
  • 24. Thank you! Questions? or Site review?
  • 25. References   http://www.akamai.com/html/about/press/releases/2009/ press_091409.html   http://www.google.com/support/webmasters/bin/static.py? page=checklist.cs&tab=1095542   http://tools.pingdom.com/fpt/   http://googlewebmastercentral.blogspot.com/2010/04/using-site- speed-in-web-search-ranking.html   http://glinden.blogspot.com/2006/11/marissa-mayer-at- web-20.html   http://radar.oreilly.com/2008/08/radar-theme-web-ops.html   http://developer.yahoo.com/performance/rules.html   http://www.alistapart.com/articles/sprites