LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: Fundamental performance limits of a linux basedloadbalancer/server

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: Fundamental performance limits of a linux basedloadbalancer/server system?
From: "Edward Chee" <edward_chee@xxxxxxxxx>
Date: Tue, 11 May 2004 14:39:54 -0700
> > To rephrase: A load balancer that operates on Layer 7 and maintains
> > persistent connections to the real servers has to act as a TCP client
and is
> > subject to the port limitations. Is my thinking correct?
>
> I guess so, but do you know that this is how it works?

I know very little about linux/tcp/port low level issues but it would seem
that one could deduce definitely that the Zeus balancer acts as a TCP client
machine since they explicitly claim to be bounded by TCP port limitation,
going so far as to instruct customers to add more horizontal boxes to scale
up if needed.

As to what they would use it client connections for, it seems reasonable to
infer they are used to maintain those persistent HTTP connections to the
real servers. How else they would be able to maintain persistent HTTP
connections without acting as the client? But you're right, this is all
guess work until proven :-)

If we were to be able to implement some of these features in LVS, we would
be able to reduce CPU consumption on all webservers in the farm, trading
that off against increased memory usage on the balancer. In my mind, that's
a big win because it makes the data pipes between the balancer and the real
servers much more efficient and low latency.

I just posted to the Squid users list and learned that Squid actually does
support persistent connections (HTTP 1.0) but no pipelining. My only concern
in going with Squid is that it doesn't seem to be designed to be a load
balancer as it's really meant to be a web proxy.

I see that LVS can use KTCPVS for L7 balancing. I'm wondering if KTCPVS
supports persistent connections. Maybe I'll start a new thread on that...

Thanks
Ed

<Prev in Thread] Current Thread [Next in Thread>