Varnish Cache Memory Usage – The right way to optimize
Looking for a way to find out the Varnish cache memory usage of your server?
Varnish caching is one of the methods to speed up websites by quickly serving content.
Often wrong Varnish cache size and configuration results in poor website performance.
At Bobcares, we often get requests for optimizing Varnish cache, as a part of our Server Management Services.
Today, let’s see how our Support Engineers help our customers with Varnish cache.
What is Varnish Cache?
The varnish is a program that is capable of increasing the speed of a website and reducing the load on the web server simultaneously.
It is an open-source tool that is capable of caching HTTP traffic and take most of the load off our servers. Varnish can be used for caching both the static and dynamic content on websites. In other words, it is a web application accelerator.
Simply, Varnish cache is an intermediator between the client and the webserver. It serves the stored content in its memory. And, that’s how the website loads faster.
The ideal settings of the Varnish cache server depend a lot on the content served from the website. This varies from server to server. Therefore, as the first step of optimization, we need to know the actual memory usage by the Varnish server.
How does Varnish caches the data?
We already saw that Varnish serves the contents fastly. Let’s now see how it caches the data.
Mainly, there are two ways by which Varnish caches the data. They are:
- to memory with the malloc storage config
- to disk with the file storage config
Varnish consists of pluggable storage backends. Malloc backend with the limited size is the default configuration to use. Here, each object will get allocated from memory. On the contrary, Varnish can also write cache to disk too.
Find Varnish cache memory usage
Being in the hosting server industry for more than a decade, our Support Engineers often deal with queries related to Varnish server optimization.
Here, the basic step is to identify the current status of cache memory usage.
Recently, one of our customers reported site slowness on his server. He was already using the Varnish cache together with Nginx webserver. However, the site was not getting the performance benefits of caching.
So, our Dedicated Engineers checked in detail and suspected a problem with Varnish settings. The Varnish cache size was set to 512MB. We wanted to confirm if the value was ideal or not.
Here, we used the varnishstat command to get an idea about the Varnish usage statistics.
We searched for n_lru_nuked in output that shows the number of objects nuked from the cache. We found that the rate was increasing. This clear indication to our Engineers that there was a lack of memory. And that’s why the cache started pushing out objects immediately.
So we increased the cache size to value greater than the sum of [bytes allocated] + [bytes free]. We specifically check the variables SMF.s0.c_bytes, SMF.s0.g_space in the varnishstat output as per the image.
Finally, we doubled the cache size on the server and that fixed the site slowness.
[Having trouble in handling Varnish cache? – Our Experts are available 24/7.]
In short, today we discussed on Varnish cache memory usage in detail and saw how our Support Engineers deal with the optimization of Varnish cache.