Website Design & Development Blog

 

Maximizing HTTP Load Speed for Your Website with Parallel Hostnames

07
March
Written by | Posted in Programming | 7 Comments
Maximizing HTTP Load Speed for Your Website with Parallel Hostnames

Web sites are all about the experience, and nothing says bad experience quite like a slow loading website.  Studies have shown time and time again, page load speed can be the #1 factor in deciding if your users are absorbing your content or just eating up some bandwidth.

Speed Matters

Google and Bing's staff collaborated on a study of Performance Related Changes and their user Impact, which focuses on looking at experiments performed on specific aspects of load speed and user bounce and conversation rates.

One of the most important things to take from this report: "Active users are more sensitive". This means that your everyday loyal visitors and customers are the ones most likely to lose interest from poor page performance and cause you to suffer as a result!

Thanks to Google and Bing's high-volume split testing, we can definitively see that adding (or shaving) milliseconds to load speed can have drastic extremes on your business.  On a high volume site, a small percentage of lost revenue adds up quickly, and on a smaller scale site, losing an important 1 or 2 clients can tip the scales.

Why Parallel Hostnames?

Your browser can typically make 2-4 connections to a single hostname at any given time. This means that if you have 30 images to load, you'll spend most of your time waiting on the first batch of connections to finish before it can even start loading the rest, which can kill your performance. Most sites load all of their content from a single hostname (usually the same one their website is hosted on).

How to break up your hostnames

Depending on the type of your content your site is hosting, you may only need to add 1 or 2 hostnames for simple sites (we recommend content., design., etc), up to a much larger number on sites with heavy media usage. The important thing to note is that for every hostname you add, it requires +1 DNS lookup to find out where it's pointing.

The best tactic is to split up your css, thumbnails, fonts and any other large classes of media (i.e. slideshow images or video files) into their own unique subdomains.  Without parallel hostnames, the images loading within your stylesheets will stall the loading of all non-text based data on your site.  With parallel hostnames, your browser can simultaneously lookup www.domain.com, content.domain.com, thumbs.domain.com and media.domain.com, allowing for your pages to render in record times. Google can tell you more on parallelizing downloads.

Server Setup

Setting up your server or hosting environment to use your new hostnames is extremely simple.  The idea is to have all of your subdomains loading from your MAIN web area, so that making an HTTP request to content.domain.com is identical to making that same request to www.domain.com in every way except to your browser.  The browser has no way of knowing (and doesn't care) that it's serving from the same location, it will happily retreive the files in parallel and display them in the quickest times possible.

For even better performance, we recommend using NGINX to serve your content subdomains.  If you've never used or heard of NGINX, you're missing out on a great alternative HTTPD to Apache that can decrease your system overhead and serve files at a much faster rate (especially under heavy traffic). More on NGINX to come soon, in the meantime you can checkout Joe's Blog to see some pretty graphs and understand how NGINX can kick some ass!

Post a comment

All fields required, unless noted.