Strategies for splitting load across varnish instances? And avoiding single-point-of-failure?

David Birdsong david.birdsong at gmail.com
Sat Jan 16 21:58:38 CET 2010


On Sat, Jan 16, 2010 at 10:44 AM, Poul-Henning Kamp <phk at phk.freebsd.dk> wrote:
> In message <d002c4031001160929p1f688fc9mcc927dda2c684b86 at mail.gmail.com>, Micha
> el Fischer writes:
>
>>For instance sizes larger than 2, I think a consistent hash is needed.
>> Otherwise, the overall hit ratio will fall dramatically upon failure of an
>>instance as the requests are rerouted.
>
> If you have perfect 1/3 splitting between 3 varnishes, having one die
> will do bad things to your hitrate until the remaining two distribute
> the load between them.
>
> That's a matter of math, and has nothing to do with the hash algorithm.
Right, but those 2 remaining are at least still being asked for the
same url's they were prior to the 1 dying.  They're just now
responsible for the dead varnish's urls in addition to their own
working set.  This is much better than the entire url space being
hashed against 2 buckets.
  ...or is my understanding of consistent hashing flawed?

>
> --
> Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
> phk at FreeBSD.ORG         | TCP/IP since RFC 956
> FreeBSD committer       | BSD since 4.3-tahoe
> Never attribute to malice what can adequately be explained by incompetence.
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at projects.linpro.no
> http://projects.linpro.no/mailman/listinfo/varnish-misc
>



More information about the varnish-misc mailing list