juju deploy varnish
|latest/stable||8||8||16 Feb 2021|
|latest/edge||8||8||16 Feb 2021|
state of the art, high-performance web accelerator Read more
Discuss this charm
Share your thoughts on this charm with the community on discourse.
Juju Charm: varnish Author: Nathan Williams
Varnish Cache is a "web application accelerator", or an HTTP reverse proxy. By deploying varnish in front of an HTTP server, it can speed up delivery by a factor of 300-1000x, depending on configuration.
What makes Varnish Cache so powerful is the Varnish Cache Language (VCL). By using VCL to configure Varnish Cache for your site, you can see remarkable performance improvements.
This varnish charm has also been set up to use a self-policing, round- robin load-balancer (director) that distributes the load between your HTTP backends. Any backends defined by related website relations will be monitored, and in the event that they repeatedly fail to respond, Varnish Cache will stop sending it requests until it is healthy.
Varnish Cache requires a backend that serves content with HTTP.
Getting started deploying Varnish
Bootstrap your juju environment:
Deploy a varnish (reverse-proxy) instance:
juju deploy varnish
Expose the service:
juju expose varnish
Connect varnish and wordpress:
juju add-relation varnish wordpress
The varnish charm allows you to configure varnish's listening port in your own config.yaml.
Tune your Varnish Cache deployment:
It also includes some common-sense tuning tweaks in data/extra.vcl.
If you wish to add extra (application-specific?) configuration, feel free to add your VCL changes to data/extra.vcl. It shouldn't interfere with the charm deployment, and will retain the round-robin director as as long as you keep the following line in your vcl_receive:
set req.backend = balance;
To verify Varnish Cache is delivering cached content, check the HTTP headers by running the following command twice:
curl -I -H "Host: <backend address>" http://<varnish address>/
To verify the site content is delivered from the backend:
curl -H "Host: 192.168.122.242" http://192.168.122.111/
For more information about Varnish Cache, check out their official docs:
If you find a bug, or know any optimization tricks that are application agnostic, let us know!