Configuring Load-Balancing Metrics

You have the option to customize the load-balancing metrics of web servers clustered with ClusterCATS software. This section describes how to customize metrics to your specific website implementation.

Overview of metrics

The JRun and ColdFusion servers record how long it takes to process each request, and can return metrics derived from this data, upon request. These metrics include the following:

To translate these metrics into a single load value for the web server, they must be weighed against a subjective measure of server performance - a maximum acceptable response time. The maximum indicates the upper threshold of performance at which a server is declared "busy" for load-balancing purposes. When a server reaches this critical threshold, ClusterCATS redirects further service requests away from the server until it becomes more responsive to its clients.

ClusterCATS software provides a further enhancement in load-balancing options. A ClusterCATS agent process probes a special page, getsimpleload.jsp for JRun and getsimpleload.cfm for ColdFusion, every five seconds, and records the round-trip time (RTT) for each request. From this data, it computes its own average RTT over a one-minute moving window. You can edit this file to customize load-balancing options for your application.

This external view of request time accounts for the processing time of the request itself, but, more importantly, for other system overhead included in reaching the web server and receiving an acceptable response. By factoring in external influences on web server responsiveness, such as network load, scheduling load, and disk I/O load, the ClusterCATS probe agent can adjust the load reported by JRun or ColdFusion, to generate a more realistic picture of the web server's performance for its clients.

For example, if the JRun server reports a light load of requests, but the probe agent finds significant round-trip times to and from the web server, then it reports a proportionally higher load for server than JRun reports.

Load types

The page ClusterCATS probes for load-balancing options, getsimpleload.jsp for JRun and getsimpleload.cfm for ColdFusion, is located in <CC_install_directory>/btauxdir. The probe agent responds to output generated by this page and uses it to calculate the overall load, based on the weighting of the metrics set in the LOADTYPE variable:

For servers that process database-intensive requests, ROUND_TRIP_TIME is not a good indication of load, because JRun/ColdFusion processes the threads that calculate ROUND_TRIP_TIME differently than queued database connection requests. With this in mind, if your web server uses many concurrent connections to a database, either use AVG_REQ_TIME as your load type, or include a database call in getsimpleload.jsp/getsimpleload.cfm to make this load type's results more indicative of actual conditions.

Output variables

During processing, getsimpleload.jsp/getsimpleload.cfm generates three significant output variables that are sent in response to the probe agent's HTTP query:

Troubleshooting the load-balancing metrics

If ClusterCATS gets an exception every time it processes getsimpleload.jsp, you may have installed ClusterCATS before installing JRun. In this case, verify that the following is true:

Comments