Varnish is a web accelerator written with performance and flexibility in mind. Its 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.
Developer: Varnish Software
Varnish is written in C. Learn C with our recommended free books and free tutorials.
Return to Web Caches Home Page | Return to Optimize Web Delivery Home Page
|The largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you to make informed decisions.|
|Hundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information.|
|Replace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, and SAS.|
|Machine Learning explores practical applications of machine learning and deep learning from a Linux perspective. This is a new series.|
|New to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux.|
|Alternatives to popular CLI tools showcases essential tools that are modern replacements for core Linux utilities.|
|Essential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users.|
|Linux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine.|
|Surveys popular streaming services from a Linux perspective: Amazon Music Unlimited, Myuzi, Spotify, Deezer, Tidal.|
|Saving Money with Linux looks at how you can reduce your energy bills running Linux.|
|Home computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum.|
|Now and Then examines how promising open source software fared over the years. It can be a bumpy ride.|
|Linux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged.|
|Linux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery.|
|Getting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers.|
|Best Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series.|
|These best free books accelerate your learning of every programming language. Learn a new language today!|
|These free tutorials offer the perfect tonic to our free programming books series.|
|Linux Around The World showcases usergroups that are relevant to Linux enthusiasts.|
|Stars and Stripes is an occasional series looking at the impact of Linux in the USA.|