If your business attracts a lot of online traffic, ensuring that your website can handle it without experiencing downtime is critical. Fast performance will encourage people to stay on your site longer. On the other hand, if your site is slow, the likelihood that they will stay will decrease, and if your site is down, they may never come back. Of course, this can a significant impact on revenue gains.
Online storefronts are particularly prone to downtime due to the heavy integrations involved. Often Ecommerce is treated as an integration itself, which can lead to improper implementation and slow load times.
If you are only now beginning to build your site, the first step will be to map out your content architecture (how your web content is organized in the backend of your website). This will give you a clearer idea of how integrations will be set up.
At this stage you can also think about the top use cases you expect your users to take through the site and the kind of traffic these will bring. Will this traffic stay the same throughout the year, or are there periods with particularly high traffic (whether longer periods such as the lead up to Christmas, or one-offs such as Black Friday)?
Great web performance is a result of great architecture, a solid implementation and development, and smart hosting. A combination of heavy integrations and regular high traffic will require you to pay careful attention to your hosting requirements. On the other hand, if periods of high traffic are only expected at specific times of the year, your hosting requirements may change.
In this article we cover the different hosting options available, whether your site experiences high traffic regularly or only occasionally, so that you can ensure that your site is able to handle your web traffic at any time.
Load-balancing distributes website traffic across multiple servers, so that a single server isn’t responsible for all the work. The trick is for there to be a balance across all servers.
Load-balanced hosting also helps avoid downtime when a particular server goes down. In these cases, traffic is automatically re-routed to the remaining servers until the issue is fixed. When servers are available in multiple locations, a load balancer can also use geo-balancing to send traffic to the servers that are geographically closest to the user, improving performance.
When choosing a CMS, ensuring that it can work in a load-balanced environment is essential. Some sites require the same user to be connected to a single server, whereas load-balanced environments work best with what is called a “round robin” approach. Also, if the CMS requires you to have a database server that the website connects to, it will most likely be a single point of failure; if it goes down, your whole site can also go down. These are all things to bear in mind when making a CMS choice.
Load-balanced hosting is most effective when coupled with scalability, which we cover in the next section.
Scalability means being able to add more resources to a website to allow it to work under heavier traffic. This is done by adding or removing servers according to traffic demands, either manually or through auto-scaling.
The way auto-scaling works is, once the load balancer detects that servers are working harder, it automatically adds additional ones. And once traffic goes down, the load balancer removes the additional servers. This way, there is never any risk of downtime, even if increases in traffic are sudden and dramatic.
Scalability can also be set up using manual settings, if you would prefer to control your costs. Keep in mind that your nominal server load should ideally be quite low during average traffic (30% or less), so that you have that extra capacity when needed.
Scalable load-balanced hosting is, again, optimal for Ecommerce sites or sites experiencing high and rapidly changing spikes in traffic. For sites that only experience such bursts of traffic occasionally, sticking to a fixed number of servers throughout the year, and only adding manual scaling in anticipation of high-traffic periods, may be the more cost-effective option.
If your website is integration-heavy, this can have a very significant impact on your web performance under heavy traffic. An important element here is whether your integrations are direct or indirect.
Integrations can work in two ways: as a component working in parallel with your site, or as an add-on. In general, setting integrations up in parallel with your site doesn’t slow your website down, leading to better performance. Setting them up as add-ons, however, can cause your servers to load up more, resulting in slower load times and less scalability.
Another consideration for integrations is what happens if one of them goes down. Ideally, if one of your integrations goes down, this should have no impact on the rest of your site and integrations. Otherwise, under heavy traffic, a slow connection to an integration could affect the speed of your entire site! When choosing a CMS, make sure that it can accommodate a flexible integration setup system where this doesn’t happen.
In addition to load balancing, caching is a very effective way to increase the performance of your website during high traffic, particularly if you have a large volume of content (such as blog posts and product pages). There are two types of caching: client-side and server-side. They both effectively do the same thing but in different locations: the browser or the server.
Client-side caching takes place when web files from a particular site are stored on a visitor’s computer, in their browser’s “cache”. This means that if they return to your website, their browser will be able to retrieve most of these files, instead of requesting the site to send them again.
Server-side caching does the same thing, but instead of doing it on the user’s browser, it generates it directly in the server. This means that every time the webpage is generated, there are certain elements that are remembered rather than regenerated. Effectively, it will be re-sending the same data to the browser as it did the previous time.
A properly cached website can often handle anywhere between twice as much to a hundred times more visitors than a non-cached site.
You can use caching tools to do this, and many CMS solutions provide caching technology. So if this is something you would like to benefit from, it is worth checking what caching tools are provided when researching a CMS.
One tool to consider for caching and storing files is a CDN Network. These are server networks that are used for caching files and storing them in locations around the globe, so that files can be retrieved in the closest locations to the user.
Again, caching tools are a must for Ecommerce sites and can bring significant performance gains.
Image size and page optimization
How you optimize the pages and images on your site can also lead to great performance improvements. And your CMS should be able to help you manage all of this, enabling compression, minification and bundling of the HTML, scripts, images, and other resource files that are sent to the browser.
For example, your CMS should be able to automatically identify any images that are too large and use these tools to prevent them from impacting performance. At the very least, the CMS should warn you when an image is likely to impact performance, and allow you to reduce its size directly in the CMS.
There are also many tools you can use to optimize your website’s pages. One of our favourites is Google PageSpeed, which allows you to analyze your site and gives you recommendations on how to improve the performance of specific pages. PageSpeed gives you reports on specific elements on your site that are causing performance issues and scores them, giving you insight into what elements are require priority.
When we talk about scalable load-balanced hosting, and all the elements we outlined above, we are ultimately talking exclusively about cloud hosting. Cloud hosting has really become the de-facto future of scalable hosting, and the best equipped to ensure your website performs optimally under heavy traffic (among many other benefits). Any CMS you choose needs to be able to work well with cloud hosting.
With a cloud-based hosting solution, you are relying on remote, offsite servers, which means that you can easily increase or decrease the volume of servers depending on your needs. Of course, this depends on your hosting solution, but many cloud solutions provide load-balanced options and auto-scaling.
By having your data stored across several servers and locations, rather than in one place, the risk of downtime caused by onsite disasters is also eliminated. Again, if one server goes down, your traffic can simply be re-routed to the remaining ones.
All in all, when using auto-scaling and load-balanced servers, the cloud is not only best suited and more reliable, but it is often also more cost-effective than traditional hosting.
Your website performance is going to greatly affect your visitors’ user experience, your conversion rates and, for Ecommerce sites, your revenue gains. It’s therefore essential that your hosting solution is able to accommodate both high volumes of traffic and multiple integrations without affecting performance or speed.
If you are concerned that your current or future site will not be able to handle the amount of traffic you receive or expect, investing in a scalable, cloud-based and load-balanced hosting solution is the best and most reliable option available in the market. And in many cases, also the most cost-effective.