« Previous 1 2 3
Accelerate web applications with Varnish Cache
Horsepower
Changes on the Fly
The reverse proxy not only delivers web pages and other resources at face value, it also modifies them in passing. The software dynamically changes or deletes cookies and adjusts HTTP headers.
Varnish also temporarily stores parts of the website and loads other parts as needed from the back end. In an online store, for example, the software dynamically retrieves the navigation with the user data and the shopping cart from the back end and reads the representation of the current product from the cache. Varnish then injects the dynamic part into the static part.
Compression
The speed gained by Varnish is useless if the transport does not compress the transferred text files. Varnish supports Gzip by default, but not the state-of-the-art Brotli [6], as yet, because you want compression to occur on the web server; after all, Varnish is only a cache. Optimum Brotli compression can be used if the web server (Nginx or Apache) compresses the files, so Varnish can cache them as is.
If you are looking for further optimizations, you can also compress static files for the web server offline. This setup works for Gzip with Zopfli [7] and for Brotli at compression level 10, but both are highly CPU-intensive and take a long time. Therefore, it is only possible for offline optimization of the content.
Conclusions
Whereas Nginx and Apache are family sedans, in which the entire family and even the dog fit and maintenance is relatively cheap, Varnish is a race car. No matter how much you dress up your sedan, it can't compete on the race track.
Infos
- Redis: https://redis.io
- HTTP caching: https://en.wikipedia.org/wiki/Web_cache
- ETag: https://en.wikipedia.org/wiki/HTTP_ETag
- Varnish Cache: https://varnish-cache.org
- VCL Basics: https://book.varnish-software.com/3.0/VCL_Basics.html
- Brotli: https://github.com/google/brotli
- Zopfli: https://github.com/google/zopfli
« Previous 1 2 3
Buy this article as PDF
(incl. VAT)