WhatDoesLoad Time Mean? Two main pieces: End to End Latency Time between user request and the final byte of the response. Render Time Time between the last byte of the response and the Document Complete event. E2E Latency + Render Time = Page Load Time Time between a user clicking a link and the page becoming usable.
Break It Down Further: DNS Lookup Time to map the domain name (www.cookware.com) to an IP address Initial Connection Time to open a connection to the server and get an acknowledgement Wait Time Time between initial connection and the first byte of the response (time it takes the server to “cook” the page). Content Download Time it takes to download the content that the server has finished creating
Time to First Byte (TTFB) DNS Lookup + Initial Connection + Wait Time measurement of server/network performance
What Affects Load Time? Do we attack E2E Latency or Render Time? Both 80-90% of load time takes place in the browser Server: Optimize Code Eliminate DB lookups Reduceload on server (perhapsthroughcaching)
Client SideOptimizations Reduce # of CSS/JS includes Sprite images Reduce # of cookies, make cookies smaller Optimize JS code, reduce amount of it Load resources asynchronously Use a CDN GZIP components Minify CSS/JS Avoid redirects and 404’s Steve Souders: 14 rules for High Performance Web Sites
ThreeBuckets for the Frontend Reduce the number of requests the browser has to make. Reduce overall page weight (KB on the wire). Make the browser do less work (executing code, painting, etc.).
Tools/Books Web: WebPagetest - http://www.webpagetest.org/ Firebug - http://getfirebug.com/ YSlow - http://developer.yahoo.com/yslow/ PageSpeed - http://code.google.com/speed/page-speed/ Dynatrace AJAX Edition - http://ajax.dynatrace.com/pages/ Books: High Performance Websites – Steve Souders EvenFasterWebsites – Steve Souders WebsiteOptimization – Andrew B. King (includes SEO)
Conclusions Plenty of areas for improvement. First timers - easy to makehuge gains. There isalways more youcan do. Youruserswill love you (subconsciously in some cases). Let’s figure out ways to makewebsitesfaster!