Improving Website Performance With Load Balancing
Nick Durkin#Hosting
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:
Related Posts
What is Umbraco CMS?
Migrating your content management system? Why not consider Umbraco? Learn about this .NET CMS, pricing and why it's the right choice for your organization.
Why Choose a CMS?
We look at the advantages that a Content Management System (CMS) can bring to your digital and content marketing strategy.
Results Matter.
We design creative digital solutions that grow your business, strengthen your brand and engage your audience. Our team blends creativity with insights, analytics and technology to deliver beauty, function, accessibility and most of all, ROI. Do you have a project you want to discuss?
Like what you read?
Subscribe to our blog "Diagram Views" for the latest trends in web design, inbound marketing and mobile strategy.