SlideShare a Scribd company logo
The	
  Need	
  for	
  Speed                       	
  
        Web	
  Performance	
  for	
  Ecommerce	
  

Presented	
  by:	
  	
  
Craig	
  Hyde,	
  President	
  &	
  Co-­‐founder,	
  Rigor	
  
May	
  1,	
  2012	
  
ShopVisible	
  Client	
  Connect	
  2012	
  
	
  
The Need For Speed - Rigor's slides from ShopVisible Client Connect 2012
The Need For Speed - Rigor's slides from ShopVisible Client Connect 2012
The Need For Speed - Rigor's slides from ShopVisible Client Connect 2012
The Need For Speed - Rigor's slides from ShopVisible Client Connect 2012
Connected	
  via	
  Web	
  
The	
  Web	
  is	
  Complex	
  

Today’s	
  average	
  website	
  consists	
  
of	
  84	
  files	
  downloaded	
  from	
  
12	
  domains	
  totaling	
  1MB	
  in	
  size.	
  




                              Source:	
  hKparchive.org/trends.php	
  
ExpectaAons	
  are	
  High	
  




Source:	
  nyAmes.com/interacMve/2012/02/29/business/	
  impaMent-­‐web-­‐users-­‐flee-­‐slow-­‐loading-­‐sites.html	
  
Importance	
  of	
  Performance	
  
	
  
       	
  

       • 	
  Sales	
  
       	
  
Importance	
  of	
  Performance	
  
	
  
       	
  

       • 	
  Sales	
  
       • 	
  Ad	
  spend	
  
       	
  
Importance	
  of	
  Performance	
  
	
  
       	
  

       • 	
  Sales	
  
       • 	
  Ad	
  spend	
  
       • 	
  SEO	
  
       	
  
Importance	
  of	
  Performance	
  
	
  
       	
  

       • 	
  Sales	
  
       • 	
  Ad	
  spend	
  
       • 	
  SEO	
  
       • 	
  Brand	
  
Importance	
  of	
  Performance	
  
	
  
       	
  

       • 	
  Sales	
  
       • 	
  Ad	
  spend	
  
       • 	
  SEO	
  
       • 	
  Brand	
  
       • 	
  Customers	
  
By	
  the	
  Numbers:	
  

     “Let’s	
  make	
  the	
  web	
  faster”	
  –	
  now	
  a	
  factor	
  in	
  SEO	
  
     	
  
     250ms	
  –	
  Magic	
  number	
  for	
  compeMMve	
  advantage	
  	
  
     400ms	
  –	
  Where	
  fall-­‐off	
  begins	
  
     500ms	
  –	
  Results	
  in	
  20%	
  drop	
  off	
  in	
  traffic	
  



Source:	
  nyMmes.com/interacMve/2012/02/29/business/	
  impaMent-­‐web-­‐users-­‐flee-­‐slow-­‐loading-­‐sites.html	
  
By	
  the	
  Numbers:	
  
By	
  the	
  Numbers:	
  
By	
  the	
  Numbers:	
  



                  ↓	
  
                   100ms	
   =            Page	
  Load	
  
                                                               ↑1%	
  
                                                                  Sales	
  




Source:	
  stevesouders.com/docs/wordcamp-­‐20090530.ppt	
  
By	
  the	
  Numbers:	
  

                                                                            ↓7%	
         Conversions	
  




                 ↑                     1s	
   =
                                    Page	
  Load	
  
                                                                            ↓11%	
  
                                                                                              Page	
  Views	
  




                                                                             ↓16%	
          SaMsfacMon	
  


Source:	
  www.aberdeen.com/aberdeen-­‐library/5136/RA-­‐performance-­‐web-­‐applicaMon.aspx	
  
From	
  the	
  Numbers…	
  
	
   Poor	
  performance	
  hurts:	
  
	
   • 	
  Sales	
  
     • 	
  Ad	
  spend	
  
     • 	
  SEO	
  
     • 	
  Brand	
  
     • 	
  Customers	
  
What	
  Now?	
  Boxes	
  to	
  Check	
  
•    Make	
  Fewer	
  HTTP	
              •     Split	
  Components	
  Across	
          •    Avoid	
  bad	
  requests	
       •    Minimize	
  DNS	
  lookups	
  
     Requests	
                                 Domains	
                                •    Avoid	
  CSS	
  @import	
        •    Minimize	
  redirects	
  
•    Use	
  a	
  Content	
  Delivery	
   •      Minimize	
  Number	
  of	
               •    Avoid	
  CSS	
  expressions	
   •     OpMmize	
  images	
  
     Network	
  (CDN)	
                         iframes	
                                •    Avoid	
  document.write	
   •         OpMmize	
  the	
  order	
  of	
  
•    Add	
  Expires	
  or	
  Cache-­‐     •     Avoid	
  404s	
                          •    Combine	
  external	
  CSS	
          styles	
  and	
  scripts	
  
     Control	
  Header	
                  •     Reduce	
  Cookie	
  Size	
               •    Combine	
  external	
            •    Parallelize	
  downloads	
  
•    Gzip	
  Components	
                 •     Use	
  Cookie-­‐Free	
  Domains	
             JavaScript	
                          across	
  hostnames	
  
•    Put	
  Stylesheets	
  at	
  Top	
          for	
  Components	
                      •    Combine	
  images	
  using	
   •      Prefer	
  asynchronous	
  
•    Put	
  Scripts	
  at	
  BoKom	
      •     Minimize	
  DOM	
  Access	
                   CSS	
  sprites	
                      resources	
  
•    Avoid	
  CSS	
  Expressions	
   •          Develop	
  Smart	
  Event	
              •    Defer	
  loading	
  of	
         •    Put	
  CSS	
  in	
  the	
  document	
  
•    Make	
  JavaScript	
  and	
  CSS	
         Handlers	
                                    JavaScript	
                          head	
  
     External	
                           •     Choose	
  <link>	
  Over	
               •    Defer	
  parsing	
  of	
         •    Remove	
  unused	
  CSS	
  
•    Reduce	
  DNS	
  Lookups	
                 @import	
                                     JavaScript	
                     •    Serve	
  resources	
  from	
  a	
  
•    Minify	
  JavaScript	
  and	
  CSS	
  •    Avoid	
  Filters	
                       •    Enable	
  compression	
               consistent	
  URL	
  
•    Avoid	
  Redirects	
                 •     OpMmize	
  Images	
                      •    Leverage	
  browser	
  caching	
  
                                                                                                                               •    Serve	
  scaled	
  images	
  
•    Remove	
  Duplicate	
  Scripts	
  •        OpMmize	
  CSS	
  Sprites	
              •    Leverage	
  proxy	
  caching	
   •    Serve	
  staMc	
  content	
  from	
  
•    Configure	
  ETags	
                  •     Do	
  Not	
  Scale	
  Images	
  in	
     •    Make	
  landing	
  page	
             a	
  cookieless	
  domain	
  
•    Make	
  Ajax	
  Cacheable	
                HTML	
                                        redirects	
  cacheable	
         •    Specify	
  a	
  character	
  set	
  
•    Flush	
  Buffer	
  Early	
            •     Make	
  favicon.ico	
  Small	
           •    Minify	
  CSS	
                  •    Specify	
  image	
  dimensions	
  
•    Use	
  GET	
  for	
  Ajax	
                and	
  Cacheable	
                       •    Minify	
  HTML	
                 •    Use	
  efficient	
  CSS	
  
     Requests	
                           •     Keep	
  Components	
  Under	
            •    Minify	
  JavaScript	
                selectors	
  
•    Postload	
  Components	
                   25	
  KB	
                               •    Minimize	
  request	
  size	
  
•    Preload	
  Components	
              •     Pack	
  Components	
  Into	
  a	
  
•    Reduce	
  the	
  Number	
  of	
            MulMpart	
  Document	
  
     DOM	
  Elements	
                    •     Avoid	
  Empty	
  Image	
  src	
  
What	
  Now?	
  Technology	
  to	
  Buy	
  
• 	
  More	
  bandwidth	
  
• 	
  More	
  servers	
  
• 	
  Bigger	
  servers	
  
• 	
  Bigger	
  databases	
  
• 	
  CDNs	
  
• 	
  Hardware	
  Accelerators	
  
• 	
  Sorware	
  Accelerators	
  
• 	
  BeKer	
  sorware	
  
• 	
  IBM	
  Watson	
  
	
  
Theory	
  of	
  Constraints	
  
Measure,	
  Measure,	
  Measure	
  
 	
  
        	
  

        • 	
  Measure	
  
        • 	
  Profile	
  
        • 	
  Monitor	
  
        	
  
Find	
  Your	
  BoUleneck	
  
Find	
  Your	
  BoUleneck	
  cont…	
  
Recap	
  

1.    	
  Measure	
  
2.    	
  Find	
  BoKleneck	
  
3.    	
  Fix	
  BoKleneck	
  
4.    	
  Monitor	
  
Quick	
  Tips	
  

• 	
  Front-­‐end	
  
Quick	
  Tips	
  

• 	
  Front-­‐end	
  
• 	
  Smaller	
  files	
  
Quick	
  Tips	
  

• 	
  Front-­‐end	
  
• 	
  Smaller	
  files	
  
• 	
  Fewer	
  downloads	
  
Quick	
  Tips	
  

• 	
  Front-­‐end	
  
• 	
  Smaller	
  files	
  
• 	
  Fewer	
  downloads	
  
• 	
  Shorter	
  trips	
  
Quick	
  Tips	
  

• 	
  Front-­‐end	
  
• 	
  Smaller	
  files	
  
• 	
  Fewer	
  downloads	
  
• 	
  Shorter	
  trips	
  
• 	
  Cache	
  everything	
  
Quick	
  Tips	
  

• 	
  Front-­‐end	
  
• 	
  Smaller	
  files	
  
• 	
  Fewer	
  downloads	
  
• 	
  Shorter	
  trips	
  
• 	
  Cache	
  everything	
  
• 	
  Watch	
  plug-­‐ins	
  
Low	
  Hanging	
  Fruit	
  
    speed.rigor.com	
  
            	
  
QuesAons	
  	
  
Speak	
  up!	
  
Contact	
  InformaAon	
  
                           Rigor	
  
Craig	
  Hyde	
            950	
  East	
  Paces	
  Ferry	
  Rd	
  
678.467.4378	
             Suite	
  3300	
  
                           Atlanta,	
  Georgia	
  30326	
  
craig.hyde@rigor.com	
  
@craighyde	
  
                           	
  
                           @TeamRigor	
  
                           404.574.4970	
  
                           877.4RIGOR1	
  
                           hUp://rigor.com	
  

More Related Content

The Need For Speed - Rigor's slides from ShopVisible Client Connect 2012

  • 1. The  Need  for  Speed   Web  Performance  for  Ecommerce   Presented  by:     Craig  Hyde,  President  &  Co-­‐founder,  Rigor   May  1,  2012   ShopVisible  Client  Connect  2012    
  • 7. The  Web  is  Complex   Today’s  average  website  consists   of  84  files  downloaded  from   12  domains  totaling  1MB  in  size.   Source:  hKparchive.org/trends.php  
  • 8. ExpectaAons  are  High   Source:  nyAmes.com/interacMve/2012/02/29/business/  impaMent-­‐web-­‐users-­‐flee-­‐slow-­‐loading-­‐sites.html  
  • 9. Importance  of  Performance       •   Sales    
  • 10. Importance  of  Performance       •   Sales   •   Ad  spend    
  • 11. Importance  of  Performance       •   Sales   •   Ad  spend   •   SEO    
  • 12. Importance  of  Performance       •   Sales   •   Ad  spend   •   SEO   •   Brand  
  • 13. Importance  of  Performance       •   Sales   •   Ad  spend   •   SEO   •   Brand   •   Customers  
  • 14. By  the  Numbers:   “Let’s  make  the  web  faster”  –  now  a  factor  in  SEO     250ms  –  Magic  number  for  compeMMve  advantage     400ms  –  Where  fall-­‐off  begins   500ms  –  Results  in  20%  drop  off  in  traffic   Source:  nyMmes.com/interacMve/2012/02/29/business/  impaMent-­‐web-­‐users-­‐flee-­‐slow-­‐loading-­‐sites.html  
  • 17. By  the  Numbers:   ↓   100ms   = Page  Load   ↑1%   Sales   Source:  stevesouders.com/docs/wordcamp-­‐20090530.ppt  
  • 18. By  the  Numbers:   ↓7%   Conversions   ↑ 1s   = Page  Load   ↓11%   Page  Views   ↓16%   SaMsfacMon   Source:  www.aberdeen.com/aberdeen-­‐library/5136/RA-­‐performance-­‐web-­‐applicaMon.aspx  
  • 19. From  the  Numbers…     Poor  performance  hurts:     •   Sales   •   Ad  spend   •   SEO   •   Brand   •   Customers  
  • 20. What  Now?  Boxes  to  Check   •  Make  Fewer  HTTP   •  Split  Components  Across   •  Avoid  bad  requests   •  Minimize  DNS  lookups   Requests   Domains   •  Avoid  CSS  @import   •  Minimize  redirects   •  Use  a  Content  Delivery   •  Minimize  Number  of   •  Avoid  CSS  expressions   •  OpMmize  images   Network  (CDN)   iframes   •  Avoid  document.write   •  OpMmize  the  order  of   •  Add  Expires  or  Cache-­‐ •  Avoid  404s   •  Combine  external  CSS   styles  and  scripts   Control  Header   •  Reduce  Cookie  Size   •  Combine  external   •  Parallelize  downloads   •  Gzip  Components   •  Use  Cookie-­‐Free  Domains   JavaScript   across  hostnames   •  Put  Stylesheets  at  Top   for  Components   •  Combine  images  using   •  Prefer  asynchronous   •  Put  Scripts  at  BoKom   •  Minimize  DOM  Access   CSS  sprites   resources   •  Avoid  CSS  Expressions   •  Develop  Smart  Event   •  Defer  loading  of   •  Put  CSS  in  the  document   •  Make  JavaScript  and  CSS   Handlers   JavaScript   head   External   •  Choose  <link>  Over   •  Defer  parsing  of   •  Remove  unused  CSS   •  Reduce  DNS  Lookups   @import   JavaScript   •  Serve  resources  from  a   •  Minify  JavaScript  and  CSS  •  Avoid  Filters   •  Enable  compression   consistent  URL   •  Avoid  Redirects   •  OpMmize  Images   •  Leverage  browser  caching   •  Serve  scaled  images   •  Remove  Duplicate  Scripts  •  OpMmize  CSS  Sprites   •  Leverage  proxy  caching   •  Serve  staMc  content  from   •  Configure  ETags   •  Do  Not  Scale  Images  in   •  Make  landing  page   a  cookieless  domain   •  Make  Ajax  Cacheable   HTML   redirects  cacheable   •  Specify  a  character  set   •  Flush  Buffer  Early   •  Make  favicon.ico  Small   •  Minify  CSS   •  Specify  image  dimensions   •  Use  GET  for  Ajax   and  Cacheable   •  Minify  HTML   •  Use  efficient  CSS   Requests   •  Keep  Components  Under   •  Minify  JavaScript   selectors   •  Postload  Components   25  KB   •  Minimize  request  size   •  Preload  Components   •  Pack  Components  Into  a   •  Reduce  the  Number  of   MulMpart  Document   DOM  Elements   •  Avoid  Empty  Image  src  
  • 21. What  Now?  Technology  to  Buy   •   More  bandwidth   •   More  servers   •   Bigger  servers   •   Bigger  databases   •   CDNs   •   Hardware  Accelerators   •   Sorware  Accelerators   •   BeKer  sorware   •   IBM  Watson    
  • 23. Measure,  Measure,  Measure       •   Measure   •   Profile   •   Monitor    
  • 25. Find  Your  BoUleneck  cont…  
  • 26. Recap   1.   Measure   2.   Find  BoKleneck   3.   Fix  BoKleneck   4.   Monitor  
  • 27. Quick  Tips   •   Front-­‐end  
  • 28. Quick  Tips   •   Front-­‐end   •   Smaller  files  
  • 29. Quick  Tips   •   Front-­‐end   •   Smaller  files   •   Fewer  downloads  
  • 30. Quick  Tips   •   Front-­‐end   •   Smaller  files   •   Fewer  downloads   •   Shorter  trips  
  • 31. Quick  Tips   •   Front-­‐end   •   Smaller  files   •   Fewer  downloads   •   Shorter  trips   •   Cache  everything  
  • 32. Quick  Tips   •   Front-­‐end   •   Smaller  files   •   Fewer  downloads   •   Shorter  trips   •   Cache  everything   •   Watch  plug-­‐ins  
  • 33. Low  Hanging  Fruit   speed.rigor.com    
  • 35. Contact  InformaAon   Rigor   Craig  Hyde   950  East  Paces  Ferry  Rd   678.467.4378   Suite  3300   Atlanta,  Georgia  30326   craig.hyde@rigor.com   @craighyde     @TeamRigor   404.574.4970   877.4RIGOR1   hUp://rigor.com