High Performance Websites (Based on Steve Souder’s lecture) By Bhoomi Patel.

Slides:



Advertisements
Similar presentations
High Performance Web Sites 14 rules for faster pages
Advertisements

Optimizing Websites with YSlow Tom Lianza Co-Founder Wishlisting.com Tom Lianza Co-Founder Wishlisting.com.
High Performance Web Sites Essential Knowledge for Frontend Engineers
CS193H: High Performance Web Sites Lecture 4: Class Projects Steve Souders Google
CS193H: High Performance Web Sites Lecture 1: Introduction Steve Souders Google
CS193H: High Performance Web Sites Lecture 17: Rule 14 – Make Ajax Cacheable Steve Souders Google
High Performance Web Sites Essential Knowledge for Frontend Engineers
CS193H: High Performance Web Sites Lecture 15: Rule 12 – Remove Duplicate Scripts Steve Souders Google
Exceptional Performance Evolution at Yahoo! Steve Souders Chief Performance Yahoo!
CS193H: High Performance Web Sites Lecture 3: HTTP and the Web 100 Performance Profile Steve Souders Google
Steve Souders Even Faster Web Sites best practices for faster pages Disclaimer: This content does not necessarily.
CS193H: High Performance Web Sites Lecture 5: Make Fewer HTTP Requests Steve Souders Google
CS193H: High Performance Web Sites Lecture 12: Rule 8 – Make JavaScript and CSS External Steve Souders Google
CS193H: High Performance Web Sites Lecture 19: Vol 2 – Load Scripts Without Blocking Steve Souders Google
CS193H: High Performance Web Sites Lecture 10: Rule 6 – Put Scripts at the Bottom Steve Souders Google
CS193H: High Performance Web Sites Lecture 2: The Importance of Frontend Performance Steve Souders Google
CS193H: High Performance Web Sites Lecture 11: Rule 7 – Avoid CSS Expressions Rule 9 – Reduce DNS Lookups Steve Souders Google
Web Performance Meetup 1 Web Performance 101 Jeremy
Web Performance Meetup 1 Web Performance Toolbelt Jeremy
Stevesouders.com/docs/velocity-wpo pptx Disclaimer: This content does not necessarily reflect the opinions of my employer.
Best Practices for Speeding Up Your Web Site
Web Site Performance What makes web sites slow? Back end Front end Tools for measuring performance Firebug / YSlow Visual Studio Test Edition W3.org html.
Copyright © Steven W. Johnson
CHAPTER 15 WEBPAGE OPTIMIZATION. LEARNING OBJECTIVES How to test your web-page performance How browser and server interactions impact performance What.
Improving Web Site Performance and Scalability While Saving Money Robert Boedigheimer ∙ Web Application
PHP Meetup - SEO 2/12/2009. Where to Focus? Ensuring the findability of content Ensuring content is well understood by search engines Maximizing the importance.
Part 5 Introduction to CSS. CSS Display - Block and Inline Elements A block element is an element that takes up the full width available, and has a line.
Client side performance in Web based Banking applications Divakar Prabhu Infosys Limited (NASDAQ: INFY)
Turners SharePoint Web Site How we did it. 2 Page Anatomy Custom Search Web Part Custom Search Web Part Data Form Web Parts Content Query Web Part HTML.
1 Reproduction interdite. © ip-label 2012 Arnaud Becart ip-label.
What’s a Web Cache? Why do people use them? Web cache location Web cache purpose There are two main reasons that Web cache are used:  to reduce latency.
Analysis and Performance Information Systems 337 Prof. Harry Plantinga.
HTTP HyperText Transfer Protocol Part 3.
Front-end Performance Optimization Using Drupal Fixing all validation errors reported by the Yslow & Page Speed tools.Yslow Page Speed.
Putting the Network to Work
&.zip Disclaimer: This content does not necessarily reflect the opinions of my employer.
Mark Phillip markphillip.com 200s, 304s, Expires Headers, HTTP Compression, And You.
Learning & Development Team Telerik Software Academy.
IMAGES Controlling size of images in CSS Aligning images in CSS Adding background images.
Performance, SEO, Accessibility Ivan Zhekov Telerik Corporation
DHTML - Introduction Introduction to DHTML, the DOM, JS review.
Keeping Front End Dependencies Under Control Rachel Lehman Technical Team at Interfolio, -
Finding cacheable areas in your Web Site using Python and Selenium David Elfi Intel.
Chapter 19: Adding JavaScript
Web Performance Optimization Boban Stojanovski (Senior Front End Developer at Solaborate) Think Fast by default.
DHTML - Introduction Chapter Introduction to DHTML, the DOM, JS review.
Page Speed Bryan McQuade Richard Rabbat. Outline  What is Page Speed?  Inception of Page Speed  Cool features  Identify unused JavaScript and CSS.
FireBug. What is Firebug?  Firebug is a powerful tool that allows you to edit HTML, CSS and view the coding behind any website: CSS, HTML, DOM and JavaScript.
JQuery Introduction © Copyright 2014, Fred McClurg All Rights Reserved.
PERFORMANCE ENHANCEMENT IN ASP.NET By Hassan Tariq Session #1.
Front-end Performance. Why Performance? Users Download time JavaScript execution time Browser memory usage Search Engines Fast-loading pages are ranked.
Advanced Topics Lecture 8 Rachel A Ober
Giorgio Sardo Technical Evangelist, Microsoft Corp blogs.msdn.com/Giorgio Session Code: WIA 403.
LESSON 15 – UNIT 0 ADAPTING YOUR WEB SITE FOR MOBILE DEVICES.
PHP Quebec 2008 Page 1 High Performance Web Pages Stoyan Stefanov Yahoo! Exceptional Performance PHP Quebec, March.
Wes Preston DEV 202. Audience: Info Workers, Dev A deeper dive into use-cases where client-side rendering (CSR) and SharePoint’s JS Link property can.
Website: Contact:
1 Using jQuery JavaScript & jQuery the missing manual (Second Edition)
Site Speed: The Ultimate UX Feature… for SEO. A case study on how to increase search engine crawling and online conversion Jonathon Colman In-House SEO.
Enhance Your Page Load Speed And Improve Traffic.
Time is the enemy: Ten Core Lessons for Achieving Peak
Even Faster Web Sites best practices for faster pages
Web Caching? Web Caching:.
High Performance Web Sites 14 rules for faster-loading pages
Even Faster Web Sites best practices for faster pages
Tips for Website Speed Optimization
Hints and tips for faster web apps
Cascading Style Sheets™ (CSS)
High Performance Mobile
Yale Digital Conference 2019
Presentation transcript:

High Performance Websites (Based on Steve Souder’s lecture) By Bhoomi Patel

Exceptional Performance Quantify and improve the performance of products worldwide Center of expertise Build tools, analyze data Gather, research and practices

End User Evaluation

Optimize Front End 80-90% of the end user response time is spent on the front end More potential for improvement Require less time and resources How to optimize it ?! : There are 14 rules.

14 Rules 1. Make fewer HTTP requests 2. Use a CDN 3. Add an Expires header 4. Gzip components 5. Put CSS at the top 6. Move JS to the bottom 7. Avoid CSS expressions 8. Make JS and CSS external 9. Reduce DNS lookups 10. Minify JS 11. Avoid redirects 12. Remove duplicate scripts 13. Configure ETags 14. Make AJAX cacheable and small

Rule 1: Make fewer HTTP requests CSS sprites inline images combined scripts, combined stylesheets

CSS Sprites – Preferred size of combined image is less <span style=" background-image: url('sprites.gif'); background-position: -260px -90px;">

Combined Scripts, Combined Stylesheets ScriptsStylesheets amazon.com31 aol.com181 cnn.com112 ebay.com72 froogle.google.com11 msn.com91 myspace.com22 wikipedia.org31 yahoo.com41 youtube.com73 Average6.51.5

Combined Scripts, Combined Stylesheets combining six scripts into one eliminates five HTTP requests challenges: develop as separate modules maximize browser cache one solution: dynamically combine and cache

Rule 2: Use a CDN distribute your static content before dynamic content amazon.comAkamai aol.comAkamai cnn.com ebay.comAkamai, Mirror Image google.com msn.comSAVVIS myspace.comAkamai, Limelight wikipedia.org yahoo.comAkamai youtube.com

Rule 3: Add an Expires header not just for images ImagesStylesheetsScripts% Median Age amazon.com0/620/10/30%114 days aol.com23/431/16/1848%217 days cnn.com0/1380/22/111%227 days ebay.com16/200/20/755%140 days froogle.google.com1/230/1 4%454 days msn.com32/351/13/980%34 days myspace.com0/180/2 0%1 day wikipedia.org6/81/12/375%1 day yahoo.com23/231/14/4100%n/a youtube.com0/320/30/70%26 days

Rule 4: Gzip components You can affect users' download times 90%+ of browsers support compression

Rule 5: Put CSS at the top stylesheets block rendering in IE solution: put stylesheets in HEAD (per spec) avoids Flash of Unstyled Content use LINK

Rule 6: Move scripts to the bottom scripts block parallel downloads across all hostnames scripts block rendering of everything below them in the page

Rule 7: Avoid CSS expressions used to set CSS properties dynamically in IE width: expression( document.body.clientWidth < 600 ? “600px” : “auto” ); Problem: expressions execute many times Mouse move, key press, resize, scroll, etc. Alternatives: One Time expressions Event Handlers

Rule 8: Make JS and CSS external Inline: HTML document is bigger External: more HTTP requests, but cached Variables page views per user (per session) empty vs. full cache stats component re-use External is typically better home pages may be an exception

Rule 9: Reduce DNS lookups typically ms block parallel downloads OS and browser both have DNS caches

Rule 10: Minify JavaScript Minify External? Minify Inline? froogle.google.comyes minify inline scripts, too

Rule 11: Avoid redirects 3xx status codes – mostly 301 and 302 HTTP/ Moved Permanently Location: add Expires headers to cache redirects worst form of blocking

Rule 12: Remove duplicate scripts Hurts performance extra HTTP requests (IE only) extra executions Atypical? 2 of 10 top sites contain duplicate scripts

Rule 13: Configure ETags unique identifier returned in response ETag: "c8897e-aee-4165acf0" Last-Modified: Thu, 07 Oct :54:08 GMT used in conditional GET requests If-None-Match: "c8897e-aee-4165acf0" If-Modified-Since: Thu, 07 Oct :54:08 GMT if ETag doesn't match, can't send 304

Rule 14: Make AJAX cacheable and small XHR, JSON, iframe, dynamic scripts can still be cached, minified, and gzipped a personalized response should still be cacheable by that person

Firebug The Firebug extension for Firefox allows the debugging, editing, and modifying of any website's CSS, HTML, DOM, and JavaScript, and provides other web development tools.

YSlow WHY is it slow ? performance lint tool grades web pages for each rule Yahoo! internal tool Demo

References High Performance Web Sites: Essential Knowledge for Front-End Engineers By Steve Souders

Thank You !