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