LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: granularity/balancing issue with a small number of client IPs

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: granularity/balancing issue with a small number of client IPs
From: Joseph Mack NA3T <jmack@xxxxxxxx>
Date: Wed, 15 Nov 2006 11:09:43 -0800 (PST)
On Wed, 15 Nov 2006, Stefan Schmidt wrote:

Hi there,
i have a problem loadbalancing DNS udp/53 via LVS DR.
Whenever i have a small number of clients, in the example below it is DNS
realtime blackhole lists used by 10 mailservers.
Redundancy is working fine but granularity seems to be an issue and there is
times when i end up with something like this:
#ipvsadm --list --rate --numeric
UDP  1.2.3.4:53                          0     1889        0   173253        0
 -> 10.1.53.15:53                       0        0        0       18        0
 -> 10.1.53.9:53                        0     1889        0   173235        0

I don't know, but I thought I'd pop up and say something as I expect the answer isn't well known. This used to work in the early days.

UDP schedules by packet (or small groups of packets). The only thing I can think of is that the director sees all your clients as being the one client. However I notice your persistence_granularity is one machine, so that shouldn't be a problem. Does the persistence_granularity actually get to the director? (I don't know where it goes - do you see it in the output of ipvsadm, is it in /proc somewhere?). I wouldn't change the persistence_timeout till you've got it working. I think the UDP balancing doesn't roll over to the next realserver for a bit longer than your value (don't know, 15sec?)


configuration looks like this:
virtual_server 1.2.3.4 53 {
       delay_loop 10
       lb_algo wrr
       lb_kind DR
       protocol UDP
       ! persistence_timeout 1
       ! persistence_granularity 255.255.255.255
        real_server 10.1.53.9 53 {
        ...

Same picture if i uncomment the persistence statements.

I noticed there apparently are some slewing algorythms doing things like a slow start whenever i add a realserver but i never stumbled over any documentation, can you give me a hint on where to look for this?

It's in the HOWTO as slow start and thundering herd. I thought it was in the code from the early days, but apparently it wasn't and I was mistaken. It's been talked about enough now that I can't remember if it ever went in or not.

Joe

--
Joseph Mack NA3T EME(B,D), FM05lw North Carolina
jmack (at) wm7d (dot) net - azimuthal equidistant map
generator at http://www.wm7d.net/azproj.shtml
Homepage http://www.austintek.com/ It's GNU/Linux!

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