Reporting Server: Experiential Learning
By Diane Sklar
"Learn from your mistakes." Isn't that what your parents told you? And as you got older you had to admit that in some areas of life, experience paid off. There is no substitute for experience. In WebFOCUS Release 7, the Reporting Server environment has been given the tools to reflect on its own life experiences and make predictions about its future. It is as if the Reporting Server has been endowed with a conscience. Imagine the server asking itself, "Was the server in Tulsa the best choice for processing that summary report? The Tulsa server seems to be struggling to perform within the target response time for the installation. Maybe that server in Cincinnati with the five idle agents, the one that processed three requests when I last checked, would be a better choice the next time."
The component that is the "conscience" of the WebFOCUS Reporting Server is its Cluster Manager (CLM). This component is also referred to as the Autonomic Server or the Workload Distribution Facility. CLM monitors in real-time ongoing experience with running jobs. Then it makes predictions about which server in a cluster can best handle the next job to be dispatched. And when the whole cluster is maxed out, which is when no server can process a request within the target response time, CLM can avert a crisis by spontaneously launching servers in the cluster that are designated as reserved. All this is done without the intervention of the system administrator.
The WebFOCUS Reporting Server also has testing tools to help predict performance. We want to be prepared and allocate the proper amount of resources to service jobs. The System Administrator uses the Script Record and Playback tools to study response time and throughput under various foreseeable conditions. Perhaps you wonder, "What would response time be like if 30 users were to run that 300,000-record report at once? How many servers would be needed to process all requests and still comply with the SLA between IT and the user departments?" Record and playback lets system administrators simulate levels of simultaneous users running typical requests.
Cluster Manager
To use the Cluster Manager, target servers must first be grouped into a cluster. Once clustered, the CLM polls servers in the cluster for statistics about their last jobs run. Using a dispatch method selected by the administrator, the Cluster Manager predicts which server will be best suited to handling the next request.
Dispatch methods are algorithms of varying complexity that control how the "best" server for the next job is selected. These algorithms can take into account statistics like average response time over a certain number of polls, maximum numbers of agents and queue availability.
The steps for choosing the next server are
as follows:
- Browser(s) send request(s) to the WebFOCUS Client.
- The client asks the CLM for the best server in the cluster.
- Based on statistics gathered through its ongoing polling, the CLM provides connection information to the client.
- The client sends the request to the recommended server.
You as the System Administrator control this process by setting parameters such as the following:
- Polling History: defines how many statistics (records) are kept for each remote server in the cluster.
- Polling Interval: defines how often, in seconds, the Cluster Manager gathers statistics from remote servers.
- User Query Dispatch Method: determines the dispatch method used to optimize management of the server connection. The choices are Smart, Weighted, Round Robin and Random.
- Max Response Time Limit: defines the maximum query response time that a user expects. If the value is greater than zero and reserved servers are defined for the cluster, Cluster Manager attempts to achieve this limit by starting reserved servers.
- Running Average Period: defines the number of polls used in averaging statistics.
When setting the above parameters, you work from an interactive console that updates the WebFOCUS configuration files. This avoids errors when typing directly into a configuration file.
As mentioned, certain servers in the cluster can be designated as reserve servers. Reserved servers are not started up unless a hurricane is heading for the cluster; that is, there is a need for more processing power than can be handled by the servers currently "on duty." Under hurricane conditions, one or more reserved servers will be started automatically by the Cluster Manager. The Cluster Manager continues to start reserved servers until the target response time is reached.
Script Record and Playback
Once a cluster of servers is configured, but before it is deployed to users, the system administrator tests how the cluster will scale under simulated peak time conditions. This determines the optimal size and properties of the cluster. To do this, the administrator activates the Record tool and performs a series of actions in another browser session.
The exact sequence of actions, whether self-service or Managed Reporting-based, is captured in a script called an HTI file. Via the Playback tool, the administrator reiteratively runs the script under stress conditions. To simulate stress conditions, the administrator changes the number of threads (users) and frequency of execution (intervals). The Cluster Manager properties, such as the dispatch method, also are varied until the optimal settings are found. See Screen 1 for the interactive panel from which the administrator plays back scripts with varying numbers of threads and intervals.
Screen 1

Benefits
The tools described in this article help guarantee that clusters of WebFOCUS Reporting Servers will have the best possible response time 24x7. Once the administrator determines in advance the proper size and properties of the cluster, he is freed from constantly monitoring server load.
Instead, the Cluster Manager monitors performance of the servers under its control. It makes small course corrections by learning which servers are most likely to be available at a given time. It navigates around the storms of peak periods by starting and stopping reserved servers as needed.
Mark Twain said "If you hold a cat by the tail you learn things you cannot learn any other way." Let WebFOCUS help you learn things without getting scratched. To learn more about the WebFOCUS Cluster Manager and the Record and Playback tools, read Technical Memo 4596: Managing Request Processing on Clustered Servers, included in the 7.11 documentation set. This information soon will be incorporated into the WebFOCUS Security and Administration Guide.
|