I have a single httpd instance with mod_cluster enabled and a cluster of tomcat servers (3 right now) behind it. The tomcat instances are not communicating with each other, so I guess they are running in "Non-clustered" mode... I will later replace the tomcat instances with jboss instances again in non-clustered mode ..
I have the following doubts regarding how mod_cluster does it load balancing and how the load factors (lbfactor) are calculated in non-clustered mode:
I believe that the load factors are sent periodically by ModClusterListener periodically through STATUS messages (http://community.jboss.org/wiki/Mod-ClusterManagementProtocol) and the load factor gets stored in lbfactor value in the "worker" on httpd side.....
The lbfactor value it seems is static for "non-clustered" configuration of AS instances as has been mentioned on this website..
I did a little bit of debugging and found that the lbfactor value is always 100.
Shouldnt the ModClusterListener from the tomcat side send dynamic lbfactor values? If it should send dynamic load factor values then what do the following statements from the above website http://community.jboss.org/wiki/ModClusterDesign mean
"load balance factor sent from the AS instances would be a static configuration value" and
"If in non-clustered mode and we don't send dynamic load information"
If my above understanding is correct then is it possible to set up the non-clustered configuration of tomcat instances in such a way that load factors are sent dynamically using the available metrics like AverageSystemLoadMetric etc... If yes, then how..?
And also can anyone shed some light on how the worker selection logic runs in mod_proxy_cluster.c on httpd side as I cannot find any documentation of that....
Regarding dynamic load factory support. We've always supported dynamic load factors for both HA and non-HA modes. Also, dynamic load factor support was added to ModClusterListener (i.e. for Tomcat) back in 1.0.0.Beta2. However, with Tomcat you are limited to using a single load metric.
Note, there is currently a bug, though fixed in svn trunk, that prevents the loadMetricClass property from being read correctly.
|Retrieving data ...|