Re: [squid-users] squid loadbalancing cluster -- best practice

From: Amos Jeffries <squid3@dont-contact.us>
Date: Tue, 8 Apr 2008 16:44:42 +1200 (NZST)

> Hi Everyone,
>
> Nowadays I am planning building a load-balanced squid + web nodes cluster.
> The detailed information:
> Operating System: Linux 2.6.9
> Squid-2.6-Stable-15

I'd highly recommend upgrading your requirements a little:

Linux 2.6.22+ (Ideally 2.6.24, but that may still be too cutting-edge for
high-performance use, and 2.6.20 is the minimum for a number of apps)

Squid 2.6.stable19

>
> Here we have two options:
>
> squidA + Apache1
> Lvs +
>
> squidB + Apache2
>
> (Lvs = linux virtual server)
> SquidA forms sibling relationship with SquidB using ICP.
> Apache1 is parent (original server) to SquidA.
> Apache2 is parent (original server) to SquidB.
>
>
> The other is
>
>
> Squid-parentA + apahce1
> Squid-child +
> Squid-parentB + apahce2
>
>
> Squild-child round robins Squid-parentA and Squid-parentB.
>
> Anybody has any suggestions on the two options?
> Which is better of the two implementations?

That depends on your expected traffic volumes and speed requirements. I
have a vague idea what you mean by LVS. You mean using DNS to round-robin
the A-record IPs and just point at a CNAME right?

For highest performance and reliability I'd pick the first option unless
there was some other topology feature that obsoletes the reliability edge.

Performance-wise;
  current squid production releases are proven only to around 800req/sec.
So below that either setup is equally effective. But above that the
first proposal will be better for you.

Reliability-wise;
 The second config leaves you with a single-point bottleneck which may at
some point fail. If it does it takes out access to the child proxies.

Amos
Received on Mon Apr 07 2008 - 22:44:47 MDT

This archive was generated by hypermail 2.2.0 : Thu May 01 2008 - 12:00:04 MDT