Hello,

I use Varnish 6.1 and I'm using the vcl.load technique to load custom VCL based on the domain name.
Basically, I follow what is explained on this article :
https://info.varnish-software.com/blog/one-vcl-per-domain

I have a huge number of domains and each domain have a specific and different configuration. Like a vhost.

I used to have multiple VCL file and include them all but it wasn't effective. Each time I changed the configuration of one domain, I had to reload varnish and all the VCL were recompiled which took a huge amount of time (5+ minutes). So I switched to the "load.vcl" technique to just recompile the VCL I needed and it's much more effective.

But I have an issue related to the huge number of domains and loaded VCL I manage.
This problem was first reported here :
https://github.com/varnishcache/varnish-cache/issues/2713

I understood that it's fixed and that I needed to add the "max_vcl" to define the maximum number of loaded VCL. I did that, the max_vcl is on 2000 on my case but the vcl.list is not showing the loaded VCL. The vcl are loaded, my configuration works but I can't list the loaded VCL and it's a problem for me because I need discard old config.

[root@cache-01 ~]# varnishadm
200
-----------------------------
Varnish Cache CLI 1.0
-----------------------------
Linux,3.10.0-514.el7.x86_64,x86_64,-junix,-smalloc,-sfile,-sdefault,-hcritbit
varnish-6.1.1 revision efc2f6c1536cf2272e471f5cff5f145239b19460

Type 'help' for command list.
Type 'quit' to close CLI session.

param.show max_vcl
200
max_vcl
        Value is: 2000
        Default is: 100
        Minimum is: 0

        Threshold of loaded VCL programs.  (VCL labels are not
        counted.)  Parameter max_vcl_handling determines behaviour.


vcl.list
200

quit
500
Closing CLI connection

Right now, I have ~960 active vcl :

[root@cache-01 ~]# ls /etc/varnish/vhosts/ | wc -l
957

On another somewhat related note, is it a good idea to have that much loaded VCL ?
Can it become a problem in the long term ?

I ask because I noticed, two time, that my instance of varnish is a 100% CPU utilization after 2 weeks. I dynamically add, remove, update vhosts but I can't clean old loaded VCL because of this vcl.list problem. After two weeks, varnish seems to use all the CPU and I suspected that it's related. If a restart varnish, then it's OK for another two weeks. I suspect that all the old loaded VCL, not discarded, clogged up my instance of varnish. Is that plausible, possible ?
I'm not familiar with varnish internals so it's a guess.

Thanks in advance,
Kind regards,
Alexis
_______________________________________________
varnish-misc mailing list
[email protected]
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc

Reply via email to