Hello Rainer;

Thanks.
So if I have it right, sorry if I keep repeating whats been stated already,
all the load-balancer algorithms are not really checking node health as in
JVM Memory usage, CPU usage or Threads used at any given time (which I
believe is a feature in a future mod_jk ? ), 

Only checks the Network Latency (Network Response ) through Cping and Cpong
methods as a nodes health as described in 
http://tomcat.apache.org/connectors-doc/generic_howto/timeouts.html


Regards
Mohan



Rainer Jung-3 wrote:
> 
> Hi Mohan,
> 
> Mohan2005 schrieb:
>> Dear All;
>> 
>> If I am not wrong, the  "Busyness" algorithm routes requests to workers
>> by
>> checking their "Health"
>> 
>> What criteria constitutes as a "nodes" "Health"
>> and if so,
>> How is it determined (using the native JVM or else )
> 
> All balancing methods of mod_jk share common aspects:
> 
> 1) Don't send requests to workers, which are in error
> 
> Workers go into error state, whenever mod_jk detects a failure during 
> request processing with that worker.
> Which failures depends on the jk configuration. Mostly they are timeouts 
> and network problems.
> 
> 2) Use stickyness instead of load based balancing if not disabled
> 
> 3) Decide about requests without sessions based on the load value of the 
> workers, which are not in error
> 
> What's the load value?
> That depends on the balancing method.
> 
> - method "Request" (default): increase the load value of a worker by one 
> for each request send to the worker and divide by two all load values 
> every now and then (app. once a minute). So the load value is the 
> comulative number of requests handled by the worker with a envelope 
> curve that counts older requests less than more recent ones. This method 
> tries to keep total work balanced.
> 
> - method "Session": the same as Request, but do only count a request, if 
> it didn't contain a session cookie or URL encoded session. It is not the 
> same as actually knowing how many sessions each backend has.
> 
> - method "Busyness": load value is the number of requests currently 
> being processed by a worker. For example when load is low, most or all 
> workers will have load value "0". This method tries to keep concurrency 
> balanced. It will not be good in balancing total work.
> 
> So: the health aspect is not special to method "Busyness". One could 
> argue, that if one node gets slow, the concurrency will go up soon, so 
> Busyness includes a good prevention for overload. On the other hand, 
> using "Request" with a reply_timeout will also lead to such a 
> prevention, because then a node that has overload will be put 
> temporarily into error state.
> 
> Mod_jk has no internal knowledge of the backends state, like Memory, 
> Thread counts etc. It can only judge by the symptoms observed during the 
> response handling (no connect possible, no cpong answer to a cping, 
> response took longer than reply_timeout etc.).
> 
> Whenever such a type of error is detected, the jk log should contain an 
> error log line with an indication of the type of error. With JkLogLevel 
> info you might get (info) log lines even if there is no hard error, but 
> in case of a real error, you will get additional information about the 
> root cause.
> 
>> Thanks you
>> Regards
>> Mohan
> 
> Regards,
> 
> Rainer
> 
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/mod_jk--%22Busyness%22-algorithm-and-Node-Health-Check-tp14650298p14663038.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to