SlideShare a Scribd company logo
1 of 23
Website Performance Optimization Mariusz Kaczmarek
“If it is fast and ugly,					 they will use it and curse you;			 if it is slow, they will not use it.” David Cheriton Source: http://blogs.msdn.com/b/edglas/archive/2009/01/02/make-your-performance-work-count-the-20-rule.aspx https://secure.wikimedia.org/wikipedia/en/wiki/David_Cheriton 2
Categorization 3
Optimize performance? 				 	     More sales  				 	     Less bandwidth & server peaks  				 	     Customer satisfaction  				 	     Might influence rankings  Competitive advantage Source: http://googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html 4
“…optimize front-end performance first,	 that's where 80% or more of the		 end-user response time is spent”	 Prof. Steve Souders Source: http://developer.yahoo.com/blogs/ydn/posts/2007/03/high_performanc/ http://www.flickr.com/photos/seanosh/2782339349/ 5
Effective measures? 		Website performance optimization should be aligned with the  		service / website / target audience you work with. 		Focus areas could be:  Image optimization & compression  JS performance (asynchronous, cached)  Reduction of DOM elements		  Teaching customers and employees! 6
Combined Scripts   Server-sided combination 						  Avoid @import for combining 						  JS tool: HEADjshttp://headjs.com/ 7
CSS Performance 						 Reuse of round corners and  						      shadow classes							 font-faces instead of pictures 						 CSS-Sprites 						Universal > tags > classes > IDs Source: http://www.alsacreations.com/xmedia/doc/full/sprites-big-sites.png https://developer.mozilla.org/en/Writing_Efficient_CSS 8
Postponed Loading 					Use of GET with AJAX 					Google Instant takessnapshots 5-10s      				     after onLoadevent? http://b0i.de/seomofo Tools:  ContolJShttp://stevesouders.com/controljs/ ImageLoaderhttp://developer.yahoo.com/yui/imageloader/ LazyLoadhttp://plugins.jquery.com/project/lazyload/ Source: http://developer.yahoo.com/performance/rules.html 9
Event handlers, components,XHRs User interaction, XHRs backend components request Site loaded HTML sent request onload 5-10s Google Instant Snapshot Modifiedimage from High Performance Web Pages | Stoyan Stefanov | Yahoo! Exceptional Performance | PHP Quebec, March 13, 2008 Source: http://b0i.de/seomofo 10
DNS Lookups & Redirections 				          Avoid 301 redirections (e.g. in HTML) 					http://www.bonoseo.com/  !=  http://www.bonoseo.com 				          usage of not morethan2-5 different domains on average 				          better: domain-aliases for parallel 					downloadshttp://images.bonoseo.com || http://www.bonoseo.com 				          cookielessdomainsforstaticcontent Source: http://yuiblog.com/blog/2007/04/11/performance-research-part-4/ 11
Content Delivery Network Geographical distribution 						Minimizes DNS-Lookups	 						Optimized caching und uptime 					     (by dynamic DNS resolving) Source: http://www.flickr.com/photos/andybeatty/5247263940/ 12
Image Compression 						UseSmush.it 						Progressive JPEG baseline 						progressive Source: http://www.yuiblog.com/blog/2008/12/05/imageopt-4/ 13
Vector Graphics  Canvas Elemente with HTML5 Ai->Canvashttp://visitmix.com/labs/ai2canvas/ Progressive JPEG 13,3 kB -> HTML5 2,38 kB Saved:  82% 14
Shape the DOM Tree 		<h1><em>Heading</em></h1> - useCSS‘sitalicsinstead 		 Tool: DOM-Monsterhttp://mir.aculo.us/dom-monster/ 		 Avoid iFrames 15
Chunking  flushfunction Source: http://www.phpied.com/progressive-rendering-via-multiple-flushes/ http://stevesouders.com/docs/velocity-20090622.ppt 16
Performance Test Tools Loads.inwww.loads.in Slow Copwww.slowcop.com Show Slowwww.showslow.com Webpagetest www.webpagetest.org 						Browser based Speedtracerhttp://b0i.de/speedtracer YslowFireBughttp://b0i.de/yslow More tools: http://code.google.com/speed/tools.html 17
Competition Analysis 		Possible performance profiles (by Souders & students) http://b0i.de/profile 		Simple linear regression analysis Wolfram Alpha: linear fit {1, 87},{2, 77},{3, 95},{4, 68} http://b0i.de/wolfreg 18
Pareto Rule 80/20 Optimizationneeds time! Lessons learned: Concentrate on biggestchunks Source: JavaScript: The Good Parts - Part Six: Ajax Performance | Douglas Crockford 19
Questions? Discuss! Let’s be friends  Twitter: BONOSEO Facebook: kaczmarek.mariusz Ssssshh… SouderSlides from Stanford: http://b0i.de/souderslides 20
Statistics 2010 Additional 			Average website size: 320 kB 			Compression is possible for 2/3 of overall data 			80% of content is loaded from one host Source: Statisticnumbers from 4.2 billionsiteshttp://code.google.com/speed/articles/web-metrics.html 21
Inline Images 						Base 64 encoding 						Great forsmallstaticimages Additional Works until IE7  Browser switch! 22 Source: http://9gag.com/gag/76585
JavaScript Performance Additional 						Tools:  http://dean.edwards.name/packer/ http://developer.yahoo.com/yui/compressor/ 						DRY and OO approach Seconds per 10 million operations Source: Besser PHP Programmieren – Professionelle PHP-Techniken | Carsten Möhrke 23

More Related Content

What's hot

High Performance Web/Mobile Pages - Automation
High Performance Web/Mobile Pages - AutomationHigh Performance Web/Mobile Pages - Automation
High Performance Web/Mobile Pages - Automation
soheil416
 

What's hot (20)

Information on Various HTTP Error Codes
Information on Various HTTP Error CodesInformation on Various HTTP Error Codes
Information on Various HTTP Error Codes
 
How We Localize & Mobilize WP Sites - Pubcon 2013
How We Localize & Mobilize WP Sites - Pubcon 2013How We Localize & Mobilize WP Sites - Pubcon 2013
How We Localize & Mobilize WP Sites - Pubcon 2013
 
How Can You Make Your Website Faster?
How Can You Make Your Website Faster?How Can You Make Your Website Faster?
How Can You Make Your Website Faster?
 
Performace optimization (increase website speed)
Performace optimization (increase website speed)Performace optimization (increase website speed)
Performace optimization (increase website speed)
 
Speed!
Speed!Speed!
Speed!
 
Web Application Development Fundamentals
Web Application Development FundamentalsWeb Application Development Fundamentals
Web Application Development Fundamentals
 
Poslovni Imenik BiH - Lokal d.o.o.
Poslovni Imenik BiH - Lokal d.o.o.Poslovni Imenik BiH - Lokal d.o.o.
Poslovni Imenik BiH - Lokal d.o.o.
 
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...
 
Website speed optimization guide for technically advanced webmasters
Website speed optimization guide for technically advanced webmastersWebsite speed optimization guide for technically advanced webmasters
Website speed optimization guide for technically advanced webmasters
 
WordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & TuningWordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & Tuning
 
High Performance - Joomla!Days NL 2009 #jd09nl
High Performance - Joomla!Days NL 2009 #jd09nlHigh Performance - Joomla!Days NL 2009 #jd09nl
High Performance - Joomla!Days NL 2009 #jd09nl
 
Is your website's speed letting you down?
Is your website's speed letting you down?Is your website's speed letting you down?
Is your website's speed letting you down?
 
Presentation1
Presentation1Presentation1
Presentation1
 
Html Optimization for SEO
Html Optimization for SEOHtml Optimization for SEO
Html Optimization for SEO
 
WPblog's Ultimate WordPress Guide to Boost Your Website Performance
WPblog's Ultimate WordPress Guide to Boost Your Website Performance WPblog's Ultimate WordPress Guide to Boost Your Website Performance
WPblog's Ultimate WordPress Guide to Boost Your Website Performance
 
Frontend performance
Frontend performanceFrontend performance
Frontend performance
 
Breaking the Speed Limit: Faster Websites Win
Breaking the Speed Limit: Faster Websites WinBreaking the Speed Limit: Faster Websites Win
Breaking the Speed Limit: Faster Websites Win
 
High Performance Web/Mobile Pages - Automation
High Performance Web/Mobile Pages - AutomationHigh Performance Web/Mobile Pages - Automation
High Performance Web/Mobile Pages - Automation
 
Website speed optimization techniques
Website speed optimization techniquesWebsite speed optimization techniques
Website speed optimization techniques
 
Optimizing the performance of WordPress
Optimizing the performance of WordPressOptimizing the performance of WordPress
Optimizing the performance of WordPress
 

Viewers also liked

Threats To The System
Threats To The SystemThreats To The System
Threats To The System
Steven Cahill
 
Web Server Hardware and Software
Web Server Hardware and SoftwareWeb Server Hardware and Software
Web Server Hardware and Software
webhostingguy
 
PPC AdWords Report
PPC AdWords ReportPPC AdWords Report
PPC AdWords Report
ReportGarden
 

Viewers also liked (20)

Web performance at WDCNZ
Web performance at WDCNZWeb performance at WDCNZ
Web performance at WDCNZ
 
Performance Evaluation of XMPP on the Web
Performance Evaluation of XMPP on the WebPerformance Evaluation of XMPP on the Web
Performance Evaluation of XMPP on the Web
 
Applebees server performance appraisal
Applebees server performance appraisalApplebees server performance appraisal
Applebees server performance appraisal
 
Understanding and measuring web performance
Understanding and measuring web performanceUnderstanding and measuring web performance
Understanding and measuring web performance
 
Website Pre SEO Analysis Report- Online Marketing: Search Engine Optimization
Website Pre SEO Analysis Report- Online Marketing: Search Engine OptimizationWebsite Pre SEO Analysis Report- Online Marketing: Search Engine Optimization
Website Pre SEO Analysis Report- Online Marketing: Search Engine Optimization
 
Recruitment Analytics workshop - Endouble Antwerp 6-3-2017
Recruitment Analytics workshop  - Endouble Antwerp 6-3-2017Recruitment Analytics workshop  - Endouble Antwerp 6-3-2017
Recruitment Analytics workshop - Endouble Antwerp 6-3-2017
 
SEO sample report
SEO sample report SEO sample report
SEO sample report
 
Website Structure Analysis Report Sample - SEO Traffic
Website Structure Analysis Report Sample - SEO TrafficWebsite Structure Analysis Report Sample - SEO Traffic
Website Structure Analysis Report Sample - SEO Traffic
 
HTTP Application Performance Analysis
HTTP Application Performance AnalysisHTTP Application Performance Analysis
HTTP Application Performance Analysis
 
Endouble Advertising Workshop
Endouble Advertising WorkshopEndouble Advertising Workshop
Endouble Advertising Workshop
 
Threats To The System
Threats To The SystemThreats To The System
Threats To The System
 
APRICOT 2017: Trafficshifting: Avoiding Disasters & Improving Performance at ...
APRICOT 2017: Trafficshifting: Avoiding Disasters & Improving Performance at ...APRICOT 2017: Trafficshifting: Avoiding Disasters & Improving Performance at ...
APRICOT 2017: Trafficshifting: Avoiding Disasters & Improving Performance at ...
 
Approaches to Software Testing
Approaches to Software TestingApproaches to Software Testing
Approaches to Software Testing
 
Performance Analysis: new tools and concepts from the cloud
Performance Analysis: new tools and concepts from the cloudPerformance Analysis: new tools and concepts from the cloud
Performance Analysis: new tools and concepts from the cloud
 
Measuring the Performance of Single Page Applications
Measuring the Performance of Single Page ApplicationsMeasuring the Performance of Single Page Applications
Measuring the Performance of Single Page Applications
 
Application Performance Management - Solving the Performance Puzzle
Application Performance Management - Solving the Performance PuzzleApplication Performance Management - Solving the Performance Puzzle
Application Performance Management - Solving the Performance Puzzle
 
Web Server Hardware and Software
Web Server Hardware and SoftwareWeb Server Hardware and Software
Web Server Hardware and Software
 
An Introduction to Software Performance Engineering
An Introduction to Software Performance EngineeringAn Introduction to Software Performance Engineering
An Introduction to Software Performance Engineering
 
PPC AdWords Report
PPC AdWords ReportPPC AdWords Report
PPC AdWords Report
 
Best Practices And Next Gen Formats: Supercharging Web Content Performance
Best Practices And Next Gen Formats: Supercharging Web Content PerformanceBest Practices And Next Gen Formats: Supercharging Web Content Performance
Best Practices And Next Gen Formats: Supercharging Web Content Performance
 

Similar to Web performance optimization (WPO)

Csdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer YahooCsdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer Yahoo
guestb1b95b
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
areyouok
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
George Ang
 
Front-end optimisation & jQuery Internals (Pycon)
Front-end optimisation & jQuery Internals (Pycon)Front-end optimisation & jQuery Internals (Pycon)
Front-end optimisation & jQuery Internals (Pycon)
Artur Cistov
 

Similar to Web performance optimization (WPO) (20)

SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital MarketersSearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
 
Csdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer YahooCsdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer Yahoo
 
Hardcode SEO
Hardcode SEOHardcode SEO
Hardcode SEO
 
Web Performance Optimierung - DWX13
Web Performance Optimierung - DWX13Web Performance Optimierung - DWX13
Web Performance Optimierung - DWX13
 
Design+Performance
Design+PerformanceDesign+Performance
Design+Performance
 
Heavy Web Optimization: Frontend
Heavy Web Optimization: FrontendHeavy Web Optimization: Frontend
Heavy Web Optimization: Frontend
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
 
5 steps to faster web sites & HTML5 games - updated for DDDscot
5 steps to faster web sites & HTML5 games - updated for DDDscot5 steps to faster web sites & HTML5 games - updated for DDDscot
5 steps to faster web sites & HTML5 games - updated for DDDscot
 
5 Steps to Faster Web Sites and HTML5 Games
5 Steps to Faster Web Sites and HTML5 Games5 Steps to Faster Web Sites and HTML5 Games
5 Steps to Faster Web Sites and HTML5 Games
 
SEO 101 - Google Page Speed Insights Explained
SEO 101 - Google Page Speed Insights Explained SEO 101 - Google Page Speed Insights Explained
SEO 101 - Google Page Speed Insights Explained
 
High Performance Websites
High Performance WebsitesHigh Performance Websites
High Performance Websites
 
Modelling Web Performance Optimization - FFSUx
Modelling  Web Performance Optimization - FFSUxModelling  Web Performance Optimization - FFSUx
Modelling Web Performance Optimization - FFSUx
 
High Performance Websites By Souders Steve
High Performance Websites By Souders SteveHigh Performance Websites By Souders Steve
High Performance Websites By Souders Steve
 
Plop
PlopPlop
Plop
 
High Performance Web Sites
High Performance Web SitesHigh Performance Web Sites
High Performance Web Sites
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
 
Front-end optimisation & jQuery Internals (Pycon)
Front-end optimisation & jQuery Internals (Pycon)Front-end optimisation & jQuery Internals (Pycon)
Front-end optimisation & jQuery Internals (Pycon)
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speed
 
Mobile Web Speed Bumps
Mobile Web Speed BumpsMobile Web Speed Bumps
Mobile Web Speed Bumps
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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...
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Web performance optimization (WPO)

  • 2. “If it is fast and ugly, they will use it and curse you; if it is slow, they will not use it.” David Cheriton Source: http://blogs.msdn.com/b/edglas/archive/2009/01/02/make-your-performance-work-count-the-20-rule.aspx https://secure.wikimedia.org/wikipedia/en/wiki/David_Cheriton 2
  • 4. Optimize performance? More sales  Less bandwidth & server peaks  Customer satisfaction  Might influence rankings  Competitive advantage Source: http://googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html 4
  • 5. “…optimize front-end performance first, that's where 80% or more of the end-user response time is spent” Prof. Steve Souders Source: http://developer.yahoo.com/blogs/ydn/posts/2007/03/high_performanc/ http://www.flickr.com/photos/seanosh/2782339349/ 5
  • 6. Effective measures? Website performance optimization should be aligned with the service / website / target audience you work with. Focus areas could be:  Image optimization & compression  JS performance (asynchronous, cached)  Reduction of DOM elements  Teaching customers and employees! 6
  • 7. Combined Scripts  Server-sided combination  Avoid @import for combining  JS tool: HEADjshttp://headjs.com/ 7
  • 8. CSS Performance  Reuse of round corners and shadow classes  font-faces instead of pictures  CSS-Sprites Universal > tags > classes > IDs Source: http://www.alsacreations.com/xmedia/doc/full/sprites-big-sites.png https://developer.mozilla.org/en/Writing_Efficient_CSS 8
  • 9. Postponed Loading Use of GET with AJAX Google Instant takessnapshots 5-10s after onLoadevent? http://b0i.de/seomofo Tools: ContolJShttp://stevesouders.com/controljs/ ImageLoaderhttp://developer.yahoo.com/yui/imageloader/ LazyLoadhttp://plugins.jquery.com/project/lazyload/ Source: http://developer.yahoo.com/performance/rules.html 9
  • 10. Event handlers, components,XHRs User interaction, XHRs backend components request Site loaded HTML sent request onload 5-10s Google Instant Snapshot Modifiedimage from High Performance Web Pages | Stoyan Stefanov | Yahoo! Exceptional Performance | PHP Quebec, March 13, 2008 Source: http://b0i.de/seomofo 10
  • 11. DNS Lookups & Redirections Avoid 301 redirections (e.g. in HTML) http://www.bonoseo.com/ != http://www.bonoseo.com usage of not morethan2-5 different domains on average better: domain-aliases for parallel downloadshttp://images.bonoseo.com || http://www.bonoseo.com cookielessdomainsforstaticcontent Source: http://yuiblog.com/blog/2007/04/11/performance-research-part-4/ 11
  • 12. Content Delivery Network Geographical distribution Minimizes DNS-Lookups Optimized caching und uptime (by dynamic DNS resolving) Source: http://www.flickr.com/photos/andybeatty/5247263940/ 12
  • 13. Image Compression UseSmush.it Progressive JPEG baseline progressive Source: http://www.yuiblog.com/blog/2008/12/05/imageopt-4/ 13
  • 14. Vector Graphics  Canvas Elemente with HTML5 Ai->Canvashttp://visitmix.com/labs/ai2canvas/ Progressive JPEG 13,3 kB -> HTML5 2,38 kB Saved: 82% 14
  • 15. Shape the DOM Tree <h1><em>Heading</em></h1> - useCSS‘sitalicsinstead  Tool: DOM-Monsterhttp://mir.aculo.us/dom-monster/  Avoid iFrames 15
  • 16. Chunking  flushfunction Source: http://www.phpied.com/progressive-rendering-via-multiple-flushes/ http://stevesouders.com/docs/velocity-20090622.ppt 16
  • 17. Performance Test Tools Loads.inwww.loads.in Slow Copwww.slowcop.com Show Slowwww.showslow.com Webpagetest www.webpagetest.org Browser based Speedtracerhttp://b0i.de/speedtracer YslowFireBughttp://b0i.de/yslow More tools: http://code.google.com/speed/tools.html 17
  • 18. Competition Analysis Possible performance profiles (by Souders & students) http://b0i.de/profile Simple linear regression analysis Wolfram Alpha: linear fit {1, 87},{2, 77},{3, 95},{4, 68} http://b0i.de/wolfreg 18
  • 19. Pareto Rule 80/20 Optimizationneeds time! Lessons learned: Concentrate on biggestchunks Source: JavaScript: The Good Parts - Part Six: Ajax Performance | Douglas Crockford 19
  • 20. Questions? Discuss! Let’s be friends  Twitter: BONOSEO Facebook: kaczmarek.mariusz Ssssshh… SouderSlides from Stanford: http://b0i.de/souderslides 20
  • 21. Statistics 2010 Additional Average website size: 320 kB Compression is possible for 2/3 of overall data 80% of content is loaded from one host Source: Statisticnumbers from 4.2 billionsiteshttp://code.google.com/speed/articles/web-metrics.html 21
  • 22. Inline Images Base 64 encoding Great forsmallstaticimages Additional Works until IE7  Browser switch! 22 Source: http://9gag.com/gag/76585
  • 23. JavaScript Performance Additional Tools: http://dean.edwards.name/packer/ http://developer.yahoo.com/yui/compressor/ DRY and OO approach Seconds per 10 million operations Source: Besser PHP Programmieren – Professionelle PHP-Techniken | Carsten Möhrke 23