Strategies for splitting load across varnish instances? And avoiding single-point-of-failure?
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
More information about the varnish-misc