If you have recently put up your website, the chances are that you must have used Shared Hosting services. After all, it is the ideal starting point among web hosting services and offers an easy way to get your site up and running. It is also the most affordable hosting solution, especially if you choose Shared Linux Hosting. Generally, Linux web hosting offers a steady and consistent performance.
But there are ways to improve upon its performance. Caching is one such option that can significantly improve your website’s page loading speed. It also has the added advantage of putting less strain on your hosting server. Varnish Cache is a popular and widely-used caching tool. Let’s take a look at how we can boost the performance of Shared Hosting with Varnish Cache.
Table of Contents
What is Shared Hosting?
The Shared Hosting architecture is the most basic and affordable setup for hosting where your website shares space with multiple other websites on a hosting server. When first-time site owners venture out to buy hosting, they almost always choose Shared Hosting for its low pricing and ease of use. It is an ideal choice for many websites.
What is Varnish Cache?
At its basic, Varnish Cache is an HTTP accelerator. In general, caching works keeping the most requested pre-computed outputs of an application in memory or on the disk from where they can be quickly retrieved and served. Doing this saves time and also spares the hosting server of additional computations.
Caching can happen in two ways;
- On the server-side
- At the client’s end
Varnish Cache works its magic on the server-side.
How Does it Work?
You can configure Varnish so that it looks out for requests in the standard HTTP port (80) and serves the user requests that come its way. When a certain web page is requested for the first time, Varnish requests the page from the server and serves it to the user.
When an object, image or page, is not stored in the cache, it is known as ‘Cache Miss’. When a cache miss occurs, Varnish goes back to the server to fetch and cache it. Once an object is cached and stored in memory, Varnish can serve it directly from the RAM. Varnish can start delivering a ‘Cache Hit’ within microseconds of caching.
How Does Varnish Boost Speed?
Varnish is threaded, and a single instance of it can handle up to 2,00,000 requests per second. It even has its own domain-specific language, VCL, that will help you configure it better. Varnish is also extendable through VMODS. These are modules based on standard C libraries and can extend the functionality of Varnish a significant margin.
Varnish has a comprehensive set of tools to monitor and administer a hosting server.
- varnishtop: to monitor requested URLs and their frequency
- varnishcsa: to dump everything pointing to certain domains and subdomains
- varnishhist: for a live histogram of the last number of requests
- varnishtest: testing VCL files and developing VMODS
- varnishstat: displaying statistics of a varnished instance
- varnishlog: get data about specific clients and requests
Here’s a more in-depth view outlining the role of Varnish in boosting the performance of Shared Hosting: