We specialise in managing high-traffic, high volume websites for customers in e-commerce, media, public sector and online publishing. We use a range of tools in conjunction with our core hosting services to improve the performance of busy websites.
We use a range of tools and techniques for clients that have particularly high traffic websites, especially when the nature of the traffic is 'bursty'. Flash crowds are difficult to serve, but they are exactly what most clients want: large numbers of additional visitors to their website following their marketing campaign, seasonal sale or breaking news item.
Tibus also has a range of tools and technical design options for websites that are continually busy and for websites that are growing rapidly.
Our objective is simple. To ensure that your website provides the standard of User Experience expected by today's demanding Internet user, without wasting your precious budget on technical capacity that is not required.
It depends on the type of web acceleration techniques you can deploy. But you could realistically expect:
In almost all cases, our clients also enjoy a persuasive return on their investment (ROI) through reduction of unnecessary costs and technical capacity.
We use some or all of the tools below in combination with our core hosting products. Every client is different, and we treat them as such. In most cases, we use a collection of the techniques below to allow high-traffic websites (and rapidly growing websites) to perform professionally.
The two most important factors in selecting the best tools for high-traffic websites are:
There is more information on choosing a hosting solution here. We can help work out which one or which combination is best for your website or application.
All servers have a natural 'hard limit' to their capacity, no matter how large they are. And the server software that runs on servers also has a natural 'hard limit' in many cases (e.g. Apache), even where the underlying server has more capacity to offer. Creating more servers and balancing the load across those servers is the answer to those challenges. When combined with auto-scaling and clever application management, lateral server scaling and load-balancing can also be a cost-effective means to achieve greater capacity and better performance. Scaling database servers laterally is almost always an immediate win for e-commerce and other high-transaction websites.
We work hard with our developer partners and clients on database tuning, in order to get website performance gains. Multiple table joins, slow queries and other inefficient calls can often have significant performance implications. This is natural - websites and applications evolve over time and inevitably become less efficient as business need changes. We advocate a good look at database performance as a starting point for increasing website performance, especially in e-commerce scenarios.
Tools like NGINX and Varnish offer websites the ability to scale for high-traffic trends or flash crowds. Performance gains of 20x can be expected in many cases, without noticeable impact on user experience. Of course there is always a trade-off between site speed and content freshness when using caching. We can help work out where the balance should be struck for your website. NGINX often requires a highly-collaborative approach with your development teams, something we enjoy.
We've found that some applications simply need more capacity for their database servers. There is nothing wrong with allocating more horsepower in terms of CPU and RAM in order to cope more smoothly with vastly increased traffic to a website. Some database servers require their own 'bare metal', used in conjunction with lighter virtual web servers: MS-SQL is a good example of this. We always suggest a robust look at database performance as a starting point, but in some cases, simply allocating greater horsepower for a database server is the only sensible option to increase site performance.
If your website enjoys high traffic or is growing fast, you need to make sure the networking basics are sound. This sounds very obvious but in practice we have seen the most beautifully written websites 'fail' because a switch had been set to 100Mb rather than 1Gigabit, and another where a firewall setting was needlessly inspecting traffic and causing significant performance problems. Getting the network basics correct is a rather obvious but critical part of serving high-traffic websites.
If you have a a video on your website or an image that is called a lot (e.g. the images on your home-screen), there is often significant performance gain to be had from using a CDN to serve those objects. Most hosting service providers offer a specialist CDN service, or partner with one of the large global CDNs to offer this service. Having a CDN serve objects takes the strain from the primary web servers and will offer significant performance gains for most users. We normally combine CDN services with a standard hosting platform. In high-traffic website scenarios, CDN usage is almost always a part of the solution set that we recommend.
Adding more CPU or RAM will almost always offer additional speed and performance for high-traffic websites. We always recommend that adding additional resource is done after web server caching is evaluated thoroughly.
Database performance is very often the cause of degraded performance on websites, and the bottle neck for scalability in the high-traffic website. This is particularly true in e-commerce websites and in websites where lost of disparate or 'long tail' content is available to users (news stories, catalogue items, blog pieces etc). Caching tools such as Memcache and Redis offer significant performance gains and can help high-traffic websites perform under heavy load. We use this as a cost-effective and 'quick win' for websites that were launched some time ago and are experiencing performance problems as they reach a greater volume of users.
The less data you need to move across the general public Internet, the better. and the closer that data is to the user, the faster they can use the website. The faster they use the website, the more users that can be served by that website. In high-traffic websites, or particularly where a website is growing fast, splitting the website into multiple nodes can offer very significant performance and capacity gains. For example where a website serves American users, but was founded in the UK, it might make sense to create a replicated website and host that in the USA. This applies to markets that are geographically close, but where traffic growth is demanding: like in UK and Ireland: we recommend considering a platform in Dublin and another in London: one for each Internet market. High traffic websites benefit significantly from multiple delivery sites for the key Internet markets the business serves.
Sounds obvious. But do you know whether your hosting company has a bandwidth bottleneck? Can you see traffic flowing from your platform to your customer's computer, tablet or smart-phone? We work in collaboration with our clients to make sure ample bandwidth is available to their site specifically (rather than our network generally). We help them diagnose where any traffic bottlenecks might be, especially through LINX, LoNAP and INEX. Traffic modelling is hugely important to high-traffic websites.
Website performance is absolutely critical to User Experience, conversion rates, click-throughs, audience time-on-site, and all the other metrics that website owners use. We advocate a regular review of KPIs (including anecdotal / qualitative customer feedback through help-desks, customer service etc) to ensure that website performance is not treated as something to 'fix and forget'. If you have a high-traffic or rapidly growing website or application, a continual focus on performance measurement and corrective action will reap dividends in terms of the metrics that matter.
Sharding across multiple nodes/clusters is not for every website, but it offers performance gains where development teams want to embrace it. We also urge development teams to look at database sharding like MongoDB. These type of tools are something developer-orientated rather than hosting-orientated but we see significant performance gains from them and therefore advocate they be considered in high-traffic website scenarios.