<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1639164799743833&amp;ev=PageView&amp;noscript=1">
Diagram Views

Improving Website Performance With Load Balancing

Nick Durkin
#Hosting
Published on May 31, 2013
warren-wong-323107-unsplash-1

Learn how employing a load balancing appliance is a great way meet your goals of improving the uptime and performance of your website.

When you hear the term "load balancing", what do you think of? The term evokes the idea of work that needs to be done that is too much for one person to handle, prompting another person to help out. In the world of web hosting, load balancing provides a similar function, spreading the "work" of running a website across multiple servers in order to ensure that the servers hosting the site do not get overloaded.

In order to provide load balancing for a web site, you need to have more than one web server, either virtual or physical. Once that is in place, the method of load balancing can be determined. For the purposes of this discussion, we will be reviewing load balancing methods provided by a dedicated appliance, rather than solutions such as round robin DNS.

High Level Architecture

The web servers hosting a load-balanced site may have public IP addresses, but visitors accessing the site won't actually connect directly to the servers. Instead, they will first access a load balancer appliance and let it handle the traffic appropriately. A Virtual IP Address is created that is only present on the load balancer. The site's DNS host record for WWW will be pointed to this IP.

Once the traffic traverses to the load balancer, the appliance then decides how to distribute the traffic to the actual servers (called the pool) running the site. The load balancer runs health checks on the servers by checking to make sure the site is up and running correctly. If it detects that a server's website is not loading, it will not route any traffic to that server. This is not only beneficial for times when the website is not running correctly on a server, but also when a server needs to be brought down for maintenance.

Load Balancing Methods

  • Round robin: The load balancer will simply distribute the traffic evenly between all servers, regardless of existing load and performance.
  • Least Connections: New connections will be sent to the server in the pool with the least connections.
  • Predictive Node: Servers in the pool are observed over time and trends are analyzed. The load balancer will assign traffic to the node that it believes will soon have the best performance.

Persistence

One problem that arises with load balancing has to do with persistence. For some web applications, it is necessary to make sure a user's session continues to use the first server that they contacted. If their traffic is sent to another server in the pool during a transaction, this may cause missing data to be collected on the back end of the initial server. This issue can be solved by setting the load balancer to evaluate the source address of the user or utilizing cookies and making the user's connection persistent.

Other Features

In addition to ensuring website uptime, these appliances can also provide other features that improve website performance:

  • Caching: The appliance can store content that does not change (such as images) and serve them directly to the client without sending traffic to the web server.
  • Compression: Reduces that amount of traffic for HTTP objects by compressing files before they are sent.
  • SSL Offloading: Processing SSL traffic is demanding on a web server's CPU, so a load balancer can perform this processing instead.
  • High availability: Two load balancing appliances can be used in case one fails.

In our always-connected society, everyone expects their website to be up and performing well all of the time, even in times of high traffic. Employing a load balancing appliance is a great way to work towards these goals and improve the uptime and performance of your website. Please contact us for more information or if you have any questions about enabling load balancing for your website or any other website hosting issue.

More information: