You could write a vmod for it. Out of curiosity I just wrote
a vmod that enters null terminated strings into a critbit
tree.
The strings are essentially `key=value\0'.
I added/compiled 100,000 unique strings in 103.76 seconds on
an 800mhz processor.
>From there, it's just a little vcl magic:
I.E.:
############################
import critbit;
backend test {
/** Your backend definitions. */
}
sub vcl_recv {
if(req.http.host){
set req.http.X-REDIRECT = critbit.get(req.http.host + "=");
if(req.http.X-REDIRECT){
/* Perform redirect stuff */
}
}
}
############################
Hope this helps, and if anything, gives you some ideas. If
you want my vmod code, certainly I'll provide it, but I must
warn it only had the 2 seconds of testing coming up with the
concept and isn't very dev friendly. ;)
~Paul
On Thu, Feb 14, 2013 at 02:33:53PM -0800, Damon Snyder wrote:
> If all you are doing is redirects what about the possibility of putting
> nginx in front of varnish to do that portion of the request? I would
> imagine that HUP'ing nginx would be a lot faster for this kind of thing.
>
> Damon
>
>
> On Tue, Feb 12, 2013 at 2:47 AM, Tobias Eichelbr?nner <
> [email protected]> wrote:
>
> > Hi,
> >
> > I have got plenty of vcl code mainly containing redirect information for
> > hundreds of domains.
> >
> > All together there are about 34 MB of vcl text files containing 70000
> > rules for redirection. Varnish generates about 158MB c-code out of it,
> > that is compiled into a 90MB shared object.
> >
> > My problem is, that it takes more than one and a half hour to parse the
> > vcl code into c-code and than compiling it on an Intel Xeon W3530.
> >
> > Does anyone has an idea how to speed up the process?
> > Is there for example a possibility to tell the parser to pass any
> > optimization steps while generating the c code?
> >
> > I could store all information in a database and call it in realtime, but
> > that would cause heavy IO on the database.
> >
> > Sincerely,
> >
> > Tobias
> >
> > _______________________________________________
> > varnish-misc mailing list
> > [email protected]
> > https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
> >
________________________________
This message may contain confidential or privileged information. If you are not
the intended recipient, please advise us immediately and delete this message.
See http://www.datapipe.com/legal/email_disclaimer/ for further information on
confidentiality and the risks of non-secure electronic communication. If you
cannot access these links, please notify us by reply message and we will send
the contents to you.
_______________________________________________
varnish-misc mailing list
[email protected]
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc