Lots of configs

David Helkowski dhelkowski at sbgnet.com
Mon Mar 7 14:02:27 CET 2011


The best way would be to use a jump table.
By that, I mean to make multiple subroutines in C, and then to jump to 
the different subroutines by looking
up pointers to the subroutines using a string hashing/lookup system.

You would also need a flag to indicate whether the hash has been 
'initialized' yet as well.
The initialization would consist of storing function pointers at the 
hash locations corresponding to each
of the domains.

I attempted to do this myself when I first started using varnish, but I 
was having problems with varnish
crashing when attempting to use the code I wrote in C. There may be 
limitations to the C code that can be
used.

On 3/6/2011 5:39 PM, AD wrote:
> Hello,
>  what is the best way to run an instance of varnish that may need 
> different vcl configurations for each hostname.  This could end up 
> being 100-500 includes to map to each hostname and then a long if/then 
> block based on the hostname.  Is there a more scalable way to deal 
> with this?  We have been toying with running one large varnish 
> instance with tons of includes or possibly running multiple instances 
> of varnish (with the config broken up) or spreading the load across 
> different clusters (kind of like sharding) based on hostname to keep 
> the configuration simple.
>
>  Any best practices here?  Are there any notes on the performance 
> impact of the size of the VCL or the amount of if/then statements in 
> vcl_recv to process a unique call function ?
>
> Thanks
>
>
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at varnish-cache.org
> http://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20110307/3654fef0/attachment-0003.html>


More information about the varnish-misc mailing list