Over the last week I’ve had my first attempt at setting up a Varnish environment which is something I’ve wanted to have a go at for a long time and I thought it would be worth sharing what I’ve learnt during that process. I was quite surprised at how simple it was to get going, and by the performance provided. This will just be a brief introduction that will probably be expanded on in future Varnish related postings.
What is Varnish caching?
First off for those that do not know, Varnish is a web application accelerator that will cache content from any web server such as Apache, Nginx or IIS and serve it up much faster. Varnish is able to do this because it caches various contents meaning that less resource intensive strain is placed on the web / database server, providing a more responsive and stable server environment with higher capacity. Put simply, Varnish will speed up a website quite significantly.
Rather than having to execute PHP scripts, run MySQL queries or perform some other tasks on the server for every page view received you can have Varnish with the content cached and ready to serve out over the Internet.
Varnish can be run on different flavours of Linux and does not require it’s own server to run. You could easily set up Varnish on the same server you have the web server running on, however I was more keen to set up a test that can be expanded in the future if needed by adding either more varnish cache servers, or web servers.