Load Balancer Configuration Tool

This tool is designed to help create an optimal balance between apache-based load balancers and JBoss application servers. Input information about your current or planned deployment to generate a configuration files and advice about how you can increase your environment's performance

Apache Configuration

JBoss Configuration

Environment

Usage

Please fill out the form to the left

Apache MPM type not chosen!
Apache module not chosen!
JBoss version not chosen!

Notices

{{warning.text | unsafe}}

Apache Configuration Output

The MaxClients is optimal at 200 * the count of CPU cores for the prefork mpm and 300 * the count of CPU cores for the worker mpm.

MPM module configuration:

httpd.conf / {{form.modtype}} configuration:

mod_jk workers.properties:

Given the ThreadsPerChild of {{stash.apache_threads_per_child_worker}} and the MaxClients ({{stash.apache_max_clients}}) / ThreadsPerChild ({{stash.apache_threads_per_child_worker}}) = Processes ({{stash.apache_max_clients / stash.apache_threads_per_child_worker}}) and with {{stash.apache_total_instances}} Apache instance(s) the connection_pool_size has been best determined to be {{stash.apache_poolsize | round}}

Take the maxThreads of {{stash.jboss_threads_per_instance}} / {{stash.apache_max_clients / stash.apache_threads_per_child_worker}} Apache server processes to get the initial connection_pool_size of {{(stash.apache_total_instances * stash.apache_poolsize) | round}} then / this number by the number of Apache instances {{stash.apache_total_instances}} to arrive at the correct connection_pool_size of {{stash.apache_poolsize | round}}.

JBoss Configuration Output

AJP connector configuration output:

EAP 6 mod_cluster notes:

In EAP 6 the mod_cluster configuration has been simplified.
You can simply use one of the HA profiles (ha or full-ha), or you can add the modcluster subsystem (shown below) to one of the other profiles.

Add the following to the top of $JBOSS_HOME/server/$PROFILE/deploy/jbossweb.sar/server.xml:

Configuration of jboss-beans.xml:

To ensure that the delegate bean exists before the JBoss Web service starts, and that the bean does not get destroyed until the service shuts down, we must add an explicit microcontainer dependency to the JBoss Web service. To do this, update the WebServer bean contained in $JBOSS_HOME/server/$PROFILE/deploy/jbossweb.sar/META-INF/jboss-beans.xml and add the below depends next to the other depends elements:

Command Line Options:

Since advertise is turned off, thus no multicast, when starting JBoss add the following

This may need to be modified depending on your virtual host ip:port. If you are connecting to more than one Apache instance use a comma separated list. Additional you may need to change <property name="advertise">true</property> to false in $JBOSS_HOME/server/$PROFILE/deploy/mod-cluster.sar/META-INF/mod-cluster-jboss-beans.xml under the specific <bean...> being used