Chapter 12. Load balancing demonstration

The JBoss HTTP Connector includes a load balancing demonstration to show how different server-side scenarios affect the client request routing performed by the load balancing proxy server. The required configuration is located in the JBOSS_EAP_DIST/mod_cluster/demo directory.
The application consists of two primary components:
/server/load-demo.war
A WAR file to be deployed in JBoss Enterprise Application Platform or JBoss Enterprise Web Server. This WAR includes a number of servlets.
/client/lib/mod-cluster-demo.jar
A web application that lets users launch a pool of threads, by sending requests through the load balancer to the application's primary servlet. The application displays information about which servers are handling the requests. It can also send separate requests to the application's load-generation servlets, allowing the user to see how certain load conditions affect request load balancing.
This application can be used to demonstrate how different worker-side scenarios impact the routing decisions of the proxy server.

Important

If running the demonstration on JBoss Enterprise Web Server, the only metrics available will be System, and JVM metrics. The demonstration application is not designed to interact with any other metrics in Tomcat 6.

Note

The demonstration application does not show the maximum load a cluster configuration can handle.

12.1. Set up the demonstration

The following procedure summarizes how to set up and start the demonstration. These steps will then be explained in further detail. Once the demonstration is running, refer to Section 12.3, “Interact with the demonstration”.

Task: Start the Demo

Complete this task to set up the base requirements of the demonstration.

Prerequisites

  1. Start the Proxy Server

    Navigate to HTTPD_DIST/sbin and start the proxy server.
    [sbin]$ apachectl start
  2. Start the Worker Node

    In a terminal, execute the following command:
    • For JBoss Enterprise Web Server:
      [home]$ ./JBOSS_EWS_DIST/tomcat6/bin/startup.sh
    • For JBoss Enterprise Application Platform:
      [home]$ ./JBOSS_EAP_DIST/bin/run.sh
  3. On JBoss Enterprise Web Server, specify the Catalina Service Name

    Tomcat 6 only: In $JBOSS_EWS_DIST/mod_cluster/src/demo/resources/web.xml, under the <web-app> element, append a <context-param> directive, which specifies Catalina as a service.
    <context-param>
       <param-name>service-name</param-name> 
       <param-value>Catalina</param-value> 
    </context-param>
  4. Deploy Demo Web Archive to Worker Node

    Copy load-demo.war from JBOSS-EAP_DIST/mod_cluster/demo/server into one of the following directories:
    • For JBoss Enterprise Web Server:
      JBOSS_EWS_DIST/tomcat6/webapps
    • For JBoss Enterprise Application Platform:
      JBOSS_EAP_DIST/jboss-as/server/PROFILE/deploy
  5. Start the Demonstration

    Navigate to JBOSS_EAP_DIST/mod_cluster/demo/client/, and start the demonstration.
    [client]$ ./run-demo.sh
    Result

    The demonstration starts, and the Load Balancing Demonstration window opens. Proceed to Task: Configure Client Control Tab Fields