/ Zope / Apsis / Pound Mailing List / Archive / 2007 / 2007-02 / Does pound favor one backend?

[ << ] [ >> ]

[ Has anyone one had experience of SSL accelerator ... ] [ pound *very* slow on images... / "Charlie ... ]

Does pound favor one backend?
Kenneth Burgener <kenneth(at)mail1.ttak.org>
2007-02-13 20:33:25 [ FULL ]
Does Pound favor one backend?  I have 3 backend webservers, and when I
run a load test, and have poundctl report the connected sessions, I
usually have a 2 : 1 : 1 ratio (ie 65 : 34 : 37 sessions for web server
1, 2 and 3 respectively).  If I restart Pound the favored backend
machine usually changes.  Why isn't the balance more even?

Does pound do load balancing by random choice or by round-robin or by
some sort of weighted means?  The only information I could find on the
Pound about this is " 2. a load balancer: it will distribute the
requests from the client browsers among several back-end servers, while
keeping session information."  Is there a way to force a round robin setup?


I am running Fedora Core 5 using the Pound package.

 # uname -a
 Linux ... 2.6.18-1.2257.fc5smp #1 SMP Fri Dec 15 16:33:51 EST 2006 i686
i686 i386 GNU/Linux

 # pound -V
 Version 2.2

 # yum info Pound
Name   : Pound
 Arch   : i386
 Version: 2.2
 Release: 2.fc5

Here is my listener configuration...

ListenHTTPS
    Address 0.0.0.0
    Port    443
    Cert    "/etc/mydomain.pem"
    Service
       Session
          Type  Cookie
          TTL   1200
          ID    "JSESSIONID"
       End
       Backend
          Address  10.10.10.10
          Port     8000
       End
       Backend
          Address  10.10.10.11
          Port     8000
       End
       Backend
          Address  10.10.10.12
          Port     8000
       End
    End
End


Any ideas what might be causing this?

Thanks,
Kenneth

Re: [Pound Mailing List] Does pound favor one backend?
Robert Segall <roseg(at)apsis.ch>
2007-02-14 18:47:42 [ FULL ]
On Tue, 2007-02-13 at 12:33 -0700, Kenneth Burgener wrote:[...]

No round robin - the back-ends are randomly chosen.
[...]

Upgrade to 2.2.4 or disable the dynamic rescaling.[...]

Re: [Pound Mailing List] Does pound favor one backend?
Kenneth Burgener <kenneth(at)mail1.ttak.org>
2007-02-14 23:15:18 [ FULL ]
Robert Segall wrote:[...][...][...]

If they were randomly chosen then I could see slight variation between
the distribution, but a distribution of a ration of 2 : 1 : 1 doesn't
seem very random.  This last test I saw even worse with 4, 3 and 93
sessions for worker 1, 2 and 3 respectively for 100 connections.

[...]

The Pound manual (http://www.apsis.ch/pound/) did not say
anything about
how to disable dynamic rescaling.  What is the pound.cfg option for
this?  Is there a more in depth document that I am missing?

Thanks,
Kenneth

Re: [Pound Mailing List] Does pound favor one backend?
Robert Segall <roseg(at)apsis.ch>
2007-02-15 17:11:39 [ FULL ]
On Wed, 2007-02-14 at 15:15 -0700, Kenneth Burgener wrote:[...]

That can be a result of two things:

- the dynamic rescaling code in 2.2 is "problematic". 2.2.4 should be
much better. It may happen that in 2.2 you'll see a temporary condition
as you describe.

- if you use sessions all bets are off: a session is bound forever to
one back-end, and if you happen to have very long-lived sessions on one
back-end you may see this kind of situation.
[...]

It is a compile-time option. Do a 'configure --help'.[...]

Re: [Pound Mailing List] Does pound favor one backend?
Kenneth Burgener <kenneth(at)mail1.ttak.org>
2007-02-27 22:05:11 [ FULL ]
Robert Segall wrote:[...][...]
>>>> Does pound do load balancing by random choice or by
round-robin or by
>>>> some sort of weighted means?  The only information I could
find on the
>>>> Pound about this is " 2. a load balancer: it will distribute
the
>>>> requests from the client browsers among several back-end
servers, while
>>>> keeping session information."  Is there a way to force a round
robin setup?
>>> No round robin - the back-ends are randomly chosen.[...][...]


I downloaded the 2.2.4 source code, and compiled it as suggested.  Now I
am seeing the "Address family not supported by protocol" error.

Feb 27 06:46:15 testcp pound: backend 17.0.0.0:0 connect: Address family
not supported by protocol
Feb 27 06:46:20 testcp pound: backend 17.0.0.0:0 connect: Address family
not supported by protocol
Feb 27 06:46:25 testcp pound: backend 25.0.0.0:0 connect: Address family
not supported by protocol
Feb 27 06:46:30 testcp pound: backend 33.0.0.0:0 connect: Address family
not supported by protocol

Has the cause of this been determined?

[root(at)test log]# uname -a
Linux test 2.6.15-1.2054_FC5 #1 Tue Mar 14 15:48:33 EST 2006 i686 i686
i386 GNU/Linux

Re: [Pound Mailing List] Does pound favor one backend?
Albert <pound(at)alacra.com>
2007-02-27 22:21:05 [ FULL ]
version 2.2.4 has a bug with session handling, use 2.2.5

Kenneth Burgener wrote:[...][...]
>>> Robert Segall wrote:
>>>       
>>>>> Does pound do load balancing by random choice or by
round-robin or by
>>>>> some sort of weighted means?  The only information I could
find on the
>>>>> Pound about this is " 2. a load balancer: it will
distribute the
>>>>> requests from the client browsers among several back-end
servers, while
>>>>> keeping session information."  Is there a way to force a
round robin setup?
>>>>>           
>>>> No round robin - the back-ends are randomly chosen.
>>>>         
>>> If they were randomly chosen then I could see slight variation
between
>>> the distribution, but a distribution of a ration of 2 : 1 : 1
doesn't
>>> seem very random.  This last test I saw even worse with 4, 3 and
93
>>> sessions for worker 1, 2 and 3 respectively for 100 connections.
>>>       [...][...]
Attachments:  
text.html text/html 2574 Bytes

MailBoxer