What is Performance Management?
Performance management is the measurement, analysis, and optimization of computer resources to provide an agreed-upon level of service. The focus is on service delivery.
To understand the concepts of performance management there are a few definitions and concepts that are helpful as described in the following sections.
Performance Management Spectrum
Managing computer system performance is not binary (you do it, or you don't), but rather a series of what the Gartner Group calls maturity levels as follows:
ChaoticNo consistent use of performance tools.
ReactiveEvent consoles are used.
ProactivePerformance monitoring and historical tools are used.
ServiceCapacity planning practices are followed.
ValueAn IT/business metric is established (performance is managed with a direct link to revenue).
Each of these levels builds on the one before, adding more management and control of the underlying systems, and providing more benefit back to the business. Start by developing the infrastructure to be reactive, move towards the proactive level, and build further over time.
Measurements for throughput, latency, and utilization need to be made at all levels of the stack:
Hardware (processor, memory, disk, network)
Database and middleware
Each level of the stack must be monitored because there might be inefficiencies at any of the levels, which do not appear as inefficiencies at other levels. You can only identify and resolve these situations when you have data available for all levels.
For example, an ORACLE_ database that is missing an index on a table will adversely affect performance at the database level. If you only monitor performance at the hardware and operating system level, all the statistics (disk access, CPU utilization, and so on) will appear normal, and the problem will not be detected.
Performance Management Products
There are a variety of products available to support performance management strategies.
For the operating system level on Sun systems, the Solaris_ operating environment automatically keeps track of many activity counters in the kernel, and these can be extracted in a number of ways. Two utilities, each of which provides lists of statistics about various system activities are as follows:
sargives information on overall system performance over time (not on individual processes).
system accountinggives information on the total resource usage of completed processes.
For a complete performance management strategy, you should use third party products that hook into the system data and provide extra functionality. There are a number of products available, all of which target some of the many different requirements for performance management. Many of these are point products, addressing only one or two of the requirements of performance management, but there are a few comprehensive products that cover all the requirements.
Currently, BMC PATROL and TeamQuest products (see "References" on page 11) are particularly comprehensive on the Solaris platform, covering all the major requirements of performance management, which include:
System activity measurement tools
Workload breakdown information
Measurement of higher software layers (for example, ORACLE and SAP)
Browser-based publication of standard reports
Customizable thresholds, alerts, and alarms
Features to model system behavior
Ability to identify bottlenecks
Facilities for capacity planning for future growth
There are other performance management products available that address specific needs of different situations. Some specialize in one of the areas, or are specific to an application software environment (such as ORACLE, SAP, or the Web).
For all of the functionality and scope, these performance management tools are relatively inexpensive. Prices vary, but tend to be less than one percent of the list price of the computer system they run on. This is a small price to pay to ensure that the valuable systems are operating at maximum efficiency.