Piranha load balancing, all requests from client end up with one real server, not load balancing

Sanjay Mahapatra sanzem at yahoo.com
Fri Jul 20 19:46:45 UTC 2007


Thanks Herta,  I am able to verify that every message is passing through the loadbalancer host using tshark. That was the part of my sentence that got truncated.

I have now modified my experiment a little bit :

Its turns out that all requests from a particular client  keep getting routed to a particular RealServer ( #1 or #2 depending on the run)  persistently although I have persistence turned off.

I  have two clients sending requests to the load balancer /cluster. I tested the scenario when requests from Test Client #1 ( TC#1) got sent via the load balancer to RealServer#1 while all requests from TC#2 went to Real Server #2. (

 As soon as I shutdown one of the  RealServer service ports say #1, the piranha routing table,  promptly excluded the dead real server/ Realserver#1 [ both in the  piranha UI as well in the  output of /sbin/ipvsadm ]

TC#1 to got failures for almost 5 minutes while TC#2 which was being serviced by RealServer#2 continue to go throuh and did  not have any failures. Requests from TC#1 took about 5 minutes to start getting routed to RealServer#2. 

In a subsequent run of the same scenario as above, I restarted pulse to see if that would cause immediate re routing of requests from TC#1 to RealServer#2. But it made no difference, furthermore, on yet another run, I restarted both /etc/network and pulse and that did not make any difference either.

Thanks and Regards
Sanjay



Herta Van den Eynde <herta.vandeneynde at gmail.com> wrote: On 20/07/07, Sanjay Mahapatra  wrote:
> Thanks Herta, Yes the client in on the same LAN.
>
> I am working on tallying the throughput via the loadbalancer,
> with what reaches the real servers. On the surface it appears that the
> traffic is going through the
>
> The content of lvs.cf is as under:
> virtual SanjaysTestCluster_SIP {
>  active = 1
>  address = 10.20.1.99 eth0:2
>  vip_nmask = 255.255.240.0
>  port = 5060
>  expect = "OK"
>  use_regex = 0
>  send_program =
> "/usr/local/monitor_scripts/check_sip_server.sh %h"
>  load_monitor = none
>  scheduler = rr
>  protocol = udp
>  timeout = 6
>  reentry = 15
>  quiesce_server = 0
>  server Engine_One {
>  address = bluehost
>  active = 1
>  weight = 1
>  }
>  server Engine_Two {
>  address = redhost
>  active = 1
>  weight = 1
>  }
>
> Thanks
> Sanjay
>
> >>Hi
>  Sanjay,
> >>
> >>Could you post your config file?
> >>
> >>This sounds like a test environment. Is the client on the same LAN as
> >>the real servers? In that case, did you verify that the packets pass
> >>through the load balancer?
>
> >>Kind regards,
>
> >>Herta

Part of your second sentence got lost somewhere.

You can easily check whether the packets pass through the load
balancer by executing "tcpdump host [client-hostname]" as root on the
load balancer.  That will print all packets to and from the client.

Kind regards,

Herta

_______________________________________________
Piranha-list mailing list
Piranha-list at redhat.com
https://www.redhat.com/mailman/listinfo/piranha-list

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/piranha-list/attachments/20070720/d16da036/attachment.htm>


More information about the Piranha-list mailing list