6 Replies Latest reply on Feb 16, 2009 5:06 PM by mohitanchlia

    Random Round Robin Policy

    mohitanchlia

      We have a clustered Stateless Bean and it uses default RoundRobin algorithm. Is there a way to determine if the requests are truly being load balanced? Any log property or any other way to see if Jboss is correctly balancing the requests. I see some anomalies and want to verify the behaviour. I don't really understand why request wouldn't be load balanced equally among all the app servers.

        • 1. Re: Random Round Robin Policy
          brian.stansberry

          There's nothing simple, no. Nothing that aggregates data together from different calls.

          If you're using EJB2 and have log4j available on the client side, on the client side you can enable TRACE logging of the org.jboss.invocation package; you'll get info there on what node was chosen for each call. For HA-JNDI, enable TRACE for org.jboss.ha.framework.interfaces.HARMIClient. For EJB3, it would be org.jboss.remoting.

          Those categories are probably a bit too broad, but once you see what logs what you can target them a bit more.

          • 2. Re: Random Round Robin Policy
            mohitanchlia

            From your experience are there any subtle points that could lead in this behaviour? I am sure there are several but some points that I should consider when doing this analysis

            • 3. Re: Random Round Robin Policy
              brian.stansberry

              You'd need to provide more details on what you are seeing.

              • 4. Re: Random Round Robin Policy
                mohitanchlia

                Is there a way to print the IP address of machine that request was sent to inside the application itself without having to turn on TRACE logging?

                • 5. Re: Random Round Robin Policy
                  brian.stansberry

                  Sorry, no.

                  • 6. Re: Random Round Robin Policy
                    mohitanchlia

                    Is there a way to print the IP address of machine that request was sent to inside the application itself without having to turn on TRACE logging?

                    Some more information:

                    We have a clustered EJB on BackEnd box that gets called from Front End box. However, what I am seeing is that when FrontEnd 4 box makes a call to clustered EJB it take 100 ms higher (always) as compared to anyother box. It's same APP, same OS, network etc. Only thing I can think of is that either round robin is not working or there is some other kind of problem. Is there any way to rule out round robin issues, response time in acquiring the proxy or making remote call or issues with lookup?