13th October 2016
Many website performance issues, such as slow page load speed and unavailability, are caused by an influx of traffic taking the server so close to its capacity that it causes either a sluggish response or no response at all.
Servers, in whatever type of hosting they are being used to provide and no matter how big they are, have a hard limit: a point beyond which they have no more resources to offer and will cease to function. Even if the hardware has more to give, often server software can undermine this with its own hard limit. So, how do you meet the additional demand and keep your customers happy?
There was a time when the answer was usually to chase additional bandwidth. While it is important to have a server that is big enough for your website’s requirements, as we have already established, even the biggest of servers can reach capacity or find themselves hamstrung by software.
A better option is to use server load balancing. This involves building additional servers and creating a multi-server architecture for your website. By that we mean using multiple servers for one domain.
Anyone for champagne?
You can think of this in terms of pouring a glass of champagne or another fizzy drink of your choosing. If you’re drinking alone - let’s not open that can of worms here - you will pour a small amount, the liquid will fizz up to the glass’ capacity and you will have to wait for it to recede before topping up your glass. If on the other hand, you have several glasses to fill, you can simply move on to the next empty glass and pour into that instead.
In server load balancing, the champagne is your website traffic and the glasses are servers. By using more than one glass or server, you increase capacity and can avoid breaks in service because the load is spread equally over multiple vessels.
This is very useful if you have a high traffic website or one that is prone to sudden traffic spikes, and help you to secure high availability hosting even in demanding circumstances.
How is server load balancing achieved?
A load balancer effectively acts as a reverse proxy in order to distribute traffic across multiple servers. We usually achieve this with the aid of tools such as NGINX and Varnish. These are powerful caching and website performance tools that have load balancers built in.