Varnish is a web accelerator written with performance and flexibility in mind. It’s modern architecture gives it a significantly better performance. Varnish stores web pages in memory so the web servers do not have to create the same web page repeatedly. The web server only recreates a page when it is changed. When content is served from memory this happens a lot faster then anything.
Additionally Varnish can serve web pages much faster then any application server is capable of – giving the website a significant speed enhancement.
It uses the advanced features in Linux 2.6, FreeBSD 6/7 and Solaris 10 to achieve its high performance. For a cost-effective configuration, Varnish Cache uses between 1-16GB and a SSD disk.
- Modern design.
- VCL – a very flexible configuration language. The VCL configuration is translated to C, compiled, loaded and executed giving flexibility and speed.
- Load balancing using both a round-robin and a random director, both with a per-backend weighting.
- DNS, Random, Hashing and Client IP based Directors.
- Load balance between multiple backends.
- Support for Edge Side Includes including stitching together compressed ESI fragments.
- Heavily threaded.
- URL rewriting.
- Cache multiple vhosts with a single Varnish.
- Log data is stored in shared memory.
- Basic health-checking of backends.
- Graceful handling of “dead” backends.
- Administered by a command line interface.
- Use In-line C to extend Varnish.
- Can be used on the same system as Apache.
- Run multiple Varnish on the same system.
- Support for HAProxy’s PROXY protocol. This is a protocol adds a small header on each incoming TCP connection that describes who the real client is, added by (for example) an SSL terminating process.
- Warm and cold VCL states.
- Plugin support with Varnish Modules, called VMODs.
- Backends defined through VMODs.
- Gzip Compression and Decompression.
- HTTP Streaming Pass & Fetch.
- Saint and Grace mode. Saint Mode allows for unhealthy backends to be blacklisted for a period of time, preventing them from serving traffic when using Varnish as a load balancer. Grace mode allows Varnish to serve an expired version of a page or other asset in cases where Varnish is unable to retrieve a healthy response from the backend.
- Experimental support for Persistent Storage, without LRU eviction.
|Read our complete collection of recommended free and open source software. The collection covers all categories of software.|