SlideShare a Scribd company logo
1 of 24
Download to read offline
Faster Page Loads with Front
      End Performance

    prajwala@azrisolutions.com




              Azri
AGENDA


Me and my company
Tools & Measurement
Improve page load time




               Azri
‘Me’




        My village
       HUZURABAD

Azri
More about ‘Me’
• I build applications on Drupal
• I am an active contributor of code on
  Drupal, jQuery and PHP communities
• One of my projects, a real-time
  collaboration suite was showcased at
  TechCrunch 50 in SF
• I build Facebook Applications
• ...
                 Azri
My Company
                       We are based in
We code on



 We build products & solutions using




                Azri
Web Page

           CSS
                    IMAGES
HTML +
                     + Flash
XHR
         Javascript

             Azri
80 % of load time
    Come from
CSS + JS + Images




       Azri
5 CSS Requests
       27 JS Requests
       29 Image Requests




Azri
Measure

  Overal load time

  Page size

  Time until DOM is loaded

  Time until Page is rendered

  Time until Page is functional




                  Azri
Azri
Tools
Yslow
Firebug Net
Webpagetest.org
Blaze.io




                  Azri
YSlow




 Azri
Waterfall Chart




Starrt   Connect   First byte transfer     Last byte transfer
                                    Azri
Reduce Requests

    Compress Styles and JS
      
          Built into Drupal
      
          http://drupalmodules.com/module/ad
          vanced-cssjs-aggregation

    Sprites
      
          Many images into one file
      
          Shift into view with background-
          position

                      Azri
Reduce Requests

  No Redirects

  Use CSS Instead of Images
      -moz-border-radius:4px;
      -webkit-border-radius:4px;
      -border-radius:4px;


    Data: URLs in style sheets
      background: white url('data:image/png;base64,iVBORw0KGgoAA
      AANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD///
          +l2Z/dAAAAM0l
      EQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4Ug9C9zwz3gVLMDA/
          A6
      P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC')

                                   Azri
Use CDN

  Content Delivery Network

  Servers Scattered around world

  Reduces roundtrip time

  Some providers
    
        Akamai
    
        Simple CDN
    
        Panther Express


                    Azri
Cache

  Use Exprires header for http request

  Browser caches content

  Browser checks whether content is
  fresh

  For images, js, css set expires header
  far future

  Change filename/URL when updating

                  Azri
Compress Content

  Use apache mod_deflate module to
  compress content

  Reduces page size more than 50%

  Compress script and styles




                Azri
Keep CSS TOP
Put <style> or <link> tags in <head>

  Page renders when all css loaded

  Loading CSS later causes re-
  rendering




                Azri
Keep JS Bottom

  Just before </body>

  Loading scripts in the head will block
  page rendering

  Scripts load sequentially




                  Azri
Cookie Free Domain

    Use cookie-free domain for static
    content (images, css, js)
      
          Create sub domain that point to
          same server
      
          Use CDN module to serve static
          content with the new domain

    Serve static content with nginx or
    lighttpd servers

                      Azri
Smush.it

  Run smush.it

  Will reduce the size of images

  Removes white space from the
  images

  Keeps the quality of the image




                 Azri
Parallelization

  Browser has limitation of 2 requests
  per domain

  User multiple domains to serve static
  content

  Use CDN module to serve content
  from multiple domains



                 Azri
Questions?
  Questions?




           prajwala@azrisolutions.com
           asif@azrisolutions.com

    Azri

More Related Content

What's hot

Introduction to Browser DOM
Introduction to Browser DOMIntroduction to Browser DOM
Introduction to Browser DOM
Siva Arunachalam
 
Html tag presentation
Html tag presentationHtml tag presentation
Html tag presentation
kfalgout
 

What's hot (20)

Choosing your animation adventure - Generate NYC 2018
Choosing your animation adventure  - Generate NYC 2018Choosing your animation adventure  - Generate NYC 2018
Choosing your animation adventure - Generate NYC 2018
 
WordPressに足りないモノ
WordPressに足りないモノWordPressに足りないモノ
WordPressに足りないモノ
 
Aos canadian tour (YOW) @energizedtech - Manage AzureRM with powershell
Aos canadian tour (YOW)  @energizedtech - Manage AzureRM with powershellAos canadian tour (YOW)  @energizedtech - Manage AzureRM with powershell
Aos canadian tour (YOW) @energizedtech - Manage AzureRM with powershell
 
Introduction to Browser DOM
Introduction to Browser DOMIntroduction to Browser DOM
Introduction to Browser DOM
 
kumogata-template の紹介
kumogata-template の紹介kumogata-template の紹介
kumogata-template の紹介
 
The Future is Now: Leveraging the Cloud with Ruby
The Future is Now: Leveraging the Cloud with RubyThe Future is Now: Leveraging the Cloud with Ruby
The Future is Now: Leveraging the Cloud with Ruby
 
Front-End Performance Optimization in WordPress
Front-End Performance Optimization in WordPressFront-End Performance Optimization in WordPress
Front-End Performance Optimization in WordPress
 
Html tag presentation
Html tag presentationHtml tag presentation
Html tag presentation
 
Webmonkey
WebmonkeyWebmonkey
Webmonkey
 
What to know about Amazon Elastic Block Store (EBS)
What to know about Amazon Elastic Block Store (EBS)What to know about Amazon Elastic Block Store (EBS)
What to know about Amazon Elastic Block Store (EBS)
 
[AWSKRUG&JAWS-UG Meetup #1] 70% Cost Reduction with On-demand resizing
[AWSKRUG&JAWS-UG Meetup #1] 70% Cost Reduction with On-demand resizing[AWSKRUG&JAWS-UG Meetup #1] 70% Cost Reduction with On-demand resizing
[AWSKRUG&JAWS-UG Meetup #1] 70% Cost Reduction with On-demand resizing
 
Static website generator
Static website generatorStatic website generator
Static website generator
 
Ruby developers
Ruby developersRuby developers
Ruby developers
 
Making HTML5 Mobile Games Indistinguishable from Native Apps
Making HTML5 Mobile Games Indistinguishable from Native AppsMaking HTML5 Mobile Games Indistinguishable from Native Apps
Making HTML5 Mobile Games Indistinguishable from Native Apps
 
Optimizing Your Site
Optimizing Your SiteOptimizing Your Site
Optimizing Your Site
 
Front-end Project Development -- from install, development to production
Front-end Project Development -- from install, development to productionFront-end Project Development -- from install, development to production
Front-end Project Development -- from install, development to production
 
Hybrid cloud wiskyweb2012
Hybrid cloud wiskyweb2012Hybrid cloud wiskyweb2012
Hybrid cloud wiskyweb2012
 
Develop and deploy using Hybrid Cloud Strategies confoo2012
Develop and deploy using Hybrid Cloud Strategies confoo2012Develop and deploy using Hybrid Cloud Strategies confoo2012
Develop and deploy using Hybrid Cloud Strategies confoo2012
 
Transforming WordPress Search and Query Performance with Elasticsearch
Transforming WordPress Search and Query Performance with Elasticsearch Transforming WordPress Search and Query Performance with Elasticsearch
Transforming WordPress Search and Query Performance with Elasticsearch
 
Images meet Web
Images meet WebImages meet Web
Images meet Web
 

Viewers also liked (6)

Interactive facebook pages
Interactive facebook pagesInteractive facebook pages
Interactive facebook pages
 
Building powerful-search-in-drupal
Building powerful-search-in-drupalBuilding powerful-search-in-drupal
Building powerful-search-in-drupal
 
Mobilize drupal
Mobilize drupalMobilize drupal
Mobilize drupal
 
Core concepts-javascript
Core concepts-javascriptCore concepts-javascript
Core concepts-javascript
 
Lisp Programming Languge
Lisp Programming LangugeLisp Programming Languge
Lisp Programming Languge
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
 

Similar to Front end-performance

Drupal Frontend Performance and Scalability
Drupal Frontend Performance and ScalabilityDrupal Frontend Performance and Scalability
Drupal Frontend Performance and Scalability
Ashok Modi
 
How to build CDN for your website
How to build CDN for your websiteHow to build CDN for your website
How to build CDN for your website
Martin Kulov
 
Pagespeed what, why, and how it works
Pagespeed   what, why, and how it worksPagespeed   what, why, and how it works
Pagespeed what, why, and how it works
Ilya Grigorik
 

Similar to Front end-performance (20)

Template tuning for high performance
Template tuning for high performanceTemplate tuning for high performance
Template tuning for high performance
 
Speed!
Speed!Speed!
Speed!
 
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
 
DrupalCampLA 2011 - Drupal frontend-optimizing
DrupalCampLA 2011 - Drupal frontend-optimizingDrupalCampLA 2011 - Drupal frontend-optimizing
DrupalCampLA 2011 - Drupal frontend-optimizing
 
Responsive content
Responsive contentResponsive content
Responsive content
 
performance.ppt
performance.pptperformance.ppt
performance.ppt
 
Drupal Frontend Performance and Scalability
Drupal Frontend Performance and ScalabilityDrupal Frontend Performance and Scalability
Drupal Frontend Performance and Scalability
 
Kudu voodoo slideshare
Kudu voodoo   slideshareKudu voodoo   slideshare
Kudu voodoo slideshare
 
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
 
London .NET Developers Azure Websites
London .NET Developers Azure WebsitesLondon .NET Developers Azure Websites
London .NET Developers Azure Websites
 
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
 
Lazy load Website Assets
Lazy load Website AssetsLazy load Website Assets
Lazy load Website Assets
 
How to build CDN for your website
How to build CDN for your websiteHow to build CDN for your website
How to build CDN for your website
 
High Performance Websites
High Performance WebsitesHigh Performance Websites
High Performance Websites
 
Building a website without a webserver on Azure
Building a website without a webserver on AzureBuilding a website without a webserver on Azure
Building a website without a webserver on Azure
 
Css
CssCss
Css
 
Optimizing WordPress for Performance - WordCamp Houston
Optimizing WordPress for Performance - WordCamp HoustonOptimizing WordPress for Performance - WordCamp Houston
Optimizing WordPress for Performance - WordCamp Houston
 
Harder, Better, Faster, Stronger
Harder, Better, Faster, StrongerHarder, Better, Faster, Stronger
Harder, Better, Faster, Stronger
 
Pagespeed what, why, and how it works
Pagespeed   what, why, and how it worksPagespeed   what, why, and how it works
Pagespeed what, why, and how it works
 
Scaling the Platform for Your Startup - Startup Talks June 2015
Scaling the Platform for Your Startup - Startup Talks June 2015Scaling the Platform for Your Startup - Startup Talks June 2015
Scaling the Platform for Your Startup - Startup Talks June 2015
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Recently uploaded (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Front end-performance

  • 1. Faster Page Loads with Front End Performance prajwala@azrisolutions.com Azri
  • 2. AGENDA Me and my company Tools & Measurement Improve page load time Azri
  • 3. ‘Me’ My village HUZURABAD Azri
  • 4. More about ‘Me’ • I build applications on Drupal • I am an active contributor of code on Drupal, jQuery and PHP communities • One of my projects, a real-time collaboration suite was showcased at TechCrunch 50 in SF • I build Facebook Applications • ... Azri
  • 5. My Company We are based in We code on We build products & solutions using Azri
  • 6. Web Page CSS IMAGES HTML + + Flash XHR Javascript Azri
  • 7. 80 % of load time Come from CSS + JS + Images Azri
  • 8. 5 CSS Requests 27 JS Requests 29 Image Requests Azri
  • 9. Measure  Overal load time  Page size  Time until DOM is loaded  Time until Page is rendered  Time until Page is functional Azri
  • 10. Azri
  • 13. Waterfall Chart Starrt Connect First byte transfer Last byte transfer Azri
  • 14. Reduce Requests  Compress Styles and JS  Built into Drupal  http://drupalmodules.com/module/ad vanced-cssjs-aggregation  Sprites  Many images into one file  Shift into view with background- position Azri
  • 15. Reduce Requests  No Redirects  Use CSS Instead of Images -moz-border-radius:4px; -webkit-border-radius:4px; -border-radius:4px;  Data: URLs in style sheets background: white url('data:image/png;base64,iVBORw0KGgoAA AANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD/// +l2Z/dAAAAM0l EQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4Ug9C9zwz3gVLMDA/ A6 P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC') Azri
  • 16. Use CDN  Content Delivery Network  Servers Scattered around world  Reduces roundtrip time  Some providers  Akamai  Simple CDN  Panther Express Azri
  • 17. Cache  Use Exprires header for http request  Browser caches content  Browser checks whether content is fresh  For images, js, css set expires header far future  Change filename/URL when updating Azri
  • 18. Compress Content  Use apache mod_deflate module to compress content  Reduces page size more than 50%  Compress script and styles Azri
  • 19. Keep CSS TOP Put <style> or <link> tags in <head>  Page renders when all css loaded  Loading CSS later causes re- rendering Azri
  • 20. Keep JS Bottom  Just before </body>  Loading scripts in the head will block page rendering  Scripts load sequentially Azri
  • 21. Cookie Free Domain  Use cookie-free domain for static content (images, css, js)  Create sub domain that point to same server  Use CDN module to serve static content with the new domain  Serve static content with nginx or lighttpd servers Azri
  • 22. Smush.it  Run smush.it  Will reduce the size of images  Removes white space from the images  Keeps the quality of the image Azri
  • 23. Parallelization  Browser has limitation of 2 requests per domain  User multiple domains to serve static content  Use CDN module to serve content from multiple domains Azri
  • 24. Questions? Questions? prajwala@azrisolutions.com asif@azrisolutions.com Azri