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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
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)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
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
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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...
 
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
 
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...
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
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
 
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
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

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