Many of the articles on this site will go in deep into one topic or another, and assume you know the basics. This sticky article is a good primer for understanding the basic of Website Performance and Hosting Performance.
The faster your website loads, the more satisfied your visitors are. This leads to more engagement with your site, improved conversion, and more. It’s assumed you agree with this, faster is better, right? Okay, moving onto the basics.
Website Performance best practices include doing things to your website that make it load faster. For example, optimizing images or reducing the number of page objects.
Hosting Performance best practices include things your hosting provider does to help your website load faster. For example, using modern hardware with fast CPUs and plenty of bandwidth in world class data centers.
The load time of a web page is comprised of
- DNS Time
- The amount of time resolving the IP address of the URL. Sometimes it means the sum time looking up the IP address of all the objects on the page too. But, usually, it’s just the amount of time for the first DNS lookup.
- Connect Time
- The amount of time to go through the TCP/IP handshake and establish a connection between
- Time To First Byte is the amount of time to elapsed from the start of the transaction until the first byte is received from the web server. This is sometimes referred to as “server think time”, even though network latency can play a role. The TTFB is usually mostly comprised of “server think time” and just a touch of network latency
- Time To Last Byte is the amount of time elapsed from the start of the transaction until the last byte of the “initial html” is received from the web server. It does NOT include the “page objects”. The bigger the payload of the initial html, and the more latency between browser and web server, the longer bigger the delta between TTLB and TTFB.
- Time to First Paint is the amount of time from the start of the transaction until the users sees something on the screen other than blank white scree
- Document Complete
- The amount of time from the start of the transaction until the page DOM is loaded and all the page objects have been downloaded, processed and displayed.
- Fully Loaded
Some of these are optimized by the hosting customer on their web site. For example, reducing the number of page objects and optimizing images (make as few bytes as possible without compromising visual appeal). Some of these are optimized by the hosting provider. For example, using modern hardware with fast CPUs in world class data centers with plenty of bandwidth.
Sometimes web page performance can be optimized by a combination of hosting provider and customer action. For example, many hosting providers make available mod_expires, but customers must take action to enable it. Mod_expires will add “expires” and “max-age” headers to static content instructing web browsers to cache the object, rather than download it everytime. This will make your web pages load much faster on repeat views or when visitors navigate multiple pages of your site. Web hosting customers must know about mod_expires (now you do) and then find out how to enable. Here’s GoDaddy’s Enabling mod_Expires with Your Hosting Account support article.
There are a number of free online tools for testing the performance of your web pages and getting suggestions for how to improve them.
- Enter your URL, select a location to run from, and optionally a number of other options and click Start Test.
The resulting information is often very eye opening for first time users. You get back what’s called a “Waterfall” that looks like this (click to enlarge):
Can you believe there are 56 files to download to load the home page of hostingperformance.guru? Document complete time was 2.428s after 51 requests and 785KB. I need to reduce round trips by combining JS and combining CSS, plus consider removing the social widgets (google, facebook, twitter). Not sure how to combine JS and CSS? Don’t want to remove social buttons? Well, at least we’re aware of what’s going on.
- Similar to WebPageTest, put in your URL and get a score and a lot of recommendations for improving your site.
- Free for 1 URL, paid for multiple. Sign up and have your site continuously monitored every minute for uptime and response time. It doesn’t test full page load, only initial HTML, but great for keeping an eye on the consistency of performance. See the Stats page of this site for up to date pingdom uptime and response time graphs.
Once you’re familiar with the terms on this article and have some use of the tools listed, you’ll be ready to dive into the focused articles on this site.