Cover V11, I06




This month, I'm providing an excerpt from Sun Performance and Tuning -- Java and the Internet, 2nd Edition by Adrian Cockcroft and Richard Pettit (Sun Microsystems Press, 1998). In this excerpt, the authors describe, in general terms, performance management techniques that apply to many environments.

Performance management is the measurement, analysis, optimization, and procurement of computing resources to provide an agreed-upon level of service to the organization and its end users. These computing resources could be CPU, memory, disk, network, and application related. It is a complete proactive process, far removed from the crisis-driven tuning and upgrading that seem so common.

Performance management starts with an understanding of the business. The reason why a computer system exists may seem obvious, but if you state the role of the system clearly, you can identify performance problems caused by extra work. Users often run extra applications on a system that are not part of its business role. Educating the users or threatening to restrict their freedom can keep a system working within its limits.

One technique I used when I was a system administrator was to pin up various accounting summaries by a printer. While waiting for printouts, users would read who and what was hogging the CPU time, disk space, and printer consumables. Peer pressure was enough to keep things in check.

An important part of performance management is to know the level of service required by the business and the current performance in business terms. You gain this knowledge by collecting and processing performance metrics from several sources, thus providing a baseline when a problem occurs in the future. By analyzing the metrics, you determine the probable cause and the severity of a problem. A corrective action plan describes the required changes, and, finally, the change can be implemented.

To determine if the corrective action has helped, you go back to understanding the new performance and service level by collecting and analyzing the metrics. You could also be more proactive before a problem occurs by trying to predict the performance and service level in anticipation of a change, for example, a change in business requirements, user load, applications, or hardware.

The main stages of performance management can be broadly classified as:

1. Obtain business requirements.

2. Collect, monitor, and understand performance metrics.

3. Analyze, identify, and publicize performance problems.

4. Set objectives and implement changes.

5. Forecast or project the effect of changes.

After Step 4 is done, you go back to Step 2 to see if the implemented plan has achieved the objective. Typically, in order to achieve Step 2 and Step 3, you use a performance management tool of some kind.

In real life, the steps to performance management are not as clearly defined as those stated here. However, this classification provides the basic foundation upon which most performance management is built.

You will find lots of specific performance tuning tips within this issue of Sys Admin. Let me know if you have questions or comments.

Sincerely yours,

Amber Ankerholz
Editor in Chief