Load balancing?

Fredrik Kristiansen fredrik at nettby.no
Thu Jan 17 19:28:27 CET 2008


We have just built us a function in PHP to load balance the images between 4
varnish servers. This function will always assign the same image to a server
every time. It doesn't select a random server. So the cache is distributed
across our 4 servers.

// Get varnish server path
function get_varnish_path($path) {
    return 'http://'.$GLOBALS['servers'][crc32($path) %

// Varnish servers
$servers[] = 'varnish1.site.com';
$servers[] = 'varnish2.site.com';
$servers[] = 'varnish3.site.com';
$servers[] = 'varnish4.site.com';

// Example
print get_varnish_path('/image1.jpg').' ';
print get_varnish_path('/image12.jpg').' ';
print get_varnish_path('/image54.jpg').' ';
print get_varnish_path('/image488.jpg').' ';
print get_varnish_path('/image1.jpg').' ';

// Result

Fredrik Kristiansen

On 17/01/2008, Ivan Voras <ivoras at fer.hr> wrote:
> Hi,
> I remember there were discussions about possible HTTP load balancing
> features in Varnish, but I don't know what was the result. Does Varnish
> support load balancing (even simple round-robin would be enough, IP
> address hashing would be better)?
> If not, does anyone has a recommendation about a nice and stable load
> balancer (ideally, it would also have an integrated HTTP accelerator to
> reduce the number of components to maintain in the system)?
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at projects.linpro.no
> http://projects.linpro.no/mailman/listinfo/varnish-misc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20080117/f375f059/attachment-0001.html>

More information about the varnish-misc mailing list