Varnish is a web accelerator (reverse proxy), which provides relief for the actual web server (the backend). It has been designed from the ground up just for this use, unlike traditional proxies (eg Squid).
The project website can be found here: http://www.varnish-cache.org
Varnish is part of Debian (Wheezy: Version 3.0.2) and Ubuntu (Trusty: Version 3.0.5). Meanwhile, there is Varnish 4.x, which is currently not included in any stable Debian / Ubuntu version.
To install the 3.x version from the Debian / Ubuntu repository, proceed as follows:
apt-get install varnish
If you want a newer version (4.x) for Debian / Ubuntu, you can also directly integrate the repository of varnish-cache.org. The instructions can be found here:
For RedHat Enterprise Linux (RHEL / CentOS), there are packages in the Extra Packages for Enterprise Linux (EPEL) repository at http://fedoraproject.org/wiki/EPEL . For RHEL 7, a Varnish 4.x version is available in the EPEL Repository. http://dl.fedoraproject.org/pub/epel/7/x86_64/repoview/varnish.html
More details about the installation can be found here:
- for version 3.x: http://www.varnish-cache.org/docs/3.0/installation/index.html
- for version 4.x here: http://www.varnish-cache.org/docs/4.0/installation/index.html
There is a separate configuration language called VCL (Varnish Configuration Language). With this the Varnish cache is configured, then translated into binary code and executed for the incoming Web requests. Normally one finds the standard configuration in
The Varnish Daemon itself is usually adapted via its own distribution-specific file.
- Debian / Ubuntu:
- RHEL / CentOS:
Among other things, it specifies on which IP and port the Varnish should listen and whether volatile memory (type “malloc”) or persistent memory (type “file”) should be used.
To get started, the Varnish Tutorial is available at: http://www.varnish-cache.org/docs/3.0/tutorial/index.html
More in-depth details can be found in the wiki: http://www.varnish-cache.org/wiki/
Varnish includes some statistics tools.
Using varnishhist you can graphically display how many requests show cache hits and how many are passed on to the backend. You can also see the respective response times in seconds on the x-axis (eg: 1e-1 -> 0.37 seconds, 1e-5 -> 0.0067 seconds)
Using varnishstat you can display detailed access statistics. Especially interesting is the cache hit rate.
Reload the Varnish configuration
To reload the Varnish configuration Debian includes a script.
/ Usr / share / varnish / reload vcl