The Performance Monitor is a module to facilitate monitoring the performance of Adaptive Server. The Performance Monitor is based on the sophisticated build-in monitoring tables in Adaptive Server (15.0 or later), which provides database statistical and diagnostic information. You can easily understand the performance behavior of Adaptive Server by monitoring its run time statistics by means of snapshots, real time monitoring, and scheduled monitoring. The monitor result is presented graphically from the overall database performance down to the statistics of an individual process.
The Performance Monitor displays what is happening on the database. It helps to identify a CPU or I/O intensive server that may require some configuration tuning in the operating system or Adaptive Server. In addition, it also helps to illustrate that the tuning of application code and database design are where the most performance improvement can normally be gained. A missing index on a table or a poorly constructed SQL statement may cause poor performance on the database causing a chain reaction from high CPU, I/O, and Lock Waits to even more Dead Locks. The Performance Monitor can easily help to locate the symptom, but you still need the other modules for solving the performance problems, using the Index Advisor to locate a missing index or the SQL Optimizer to rewrite a poorly performing SQL statement.
The Performance Monitor monitors for the statistics that are consuming the most resources. It identifies where the top resource consumption occurs through various performance statistics and thereby filtering out unnecessary information so that performance problems are easier to pin point.
A daily monitoring of the performance of the database can be achieved by setting up a periodic capture time for retrieving the performance statistics. For example; to review the database performance on daily basis, a 15 minutes to 60 minutes refresh interval can provide a pretty clear picture of the system performance and resource consumption status; such as CPU, Devices IO, Network I/O, Lock/Dead Lock, etc. For troubleshooting on an extremely slow database, a frequent polling to the database may be too intrusive, so the manual refresh option which takes snapshots from the database may be more appropriate.
Only users with the mon_role role have access to monitoring tables in Adaptive Server. You can provide extra role-based security by modifying the CIS proxy table definitions provided with the monitoring tables. For information about acquiring roles, see Chapter 11, "Managing User Permissions," in the Adaptive Server Performance and Tuning: Monitor and Analyzing manual. Because the Performance Monitor collects the performance statistics from the monitoring tables in Adaptive Server, version 15.0 or later is required.
The Performance Monitor supports both dynamic performance information and static information from the following Adaptive Server monitoring tables:
Table Name | Description |
monState |
Provides information regarding the overall state of the Adaptive Server. |
monEngine |
Provides statistics regarding Adaptive Server engines. |
monDataCache |
Provides statistics relating to data cache usage. |
monProcedureCache |
Provides server wide information related to cached procedures. |
monOpenDatabases |
Provides state and statistical information for databases that are currently in use (i.e. open databases). |
monSysWorkerThread |
Provides server-wide statistics about worker threads. |
monNetworkIO |
Provides server-wide statistics about network I/O. |
monErrorLog |
Provides the most recent error messages raised by Adaptive Server. The maximum number of messages returned can be tuned by use of the "errorlog pipe max messages" configuration option. |
monLocks |
Provides information for all locks that are being held, and those that have been requested, by any process, for every object. |
monDeadLock |
Provides information about the most recent deadlocks that have occurred. The maximum number of messages returned can be tuned by use of the "deadlock pipe max messages" configuration option. |
monWaitClassInfo |
Provides a textual description for all of the wait classes, e.g. "waiting for a disk read to complete". All wait events (see monWaitEventInfo table) have been grouped into the appropriate wait class. |
monWaitEventInfo |
Provides a textual description for every possible situation where a process is forced to wait for an event, e.g. "wait for buffer read to complete". |
monCachedObject |
Provides statistics for all objects and indexes that currently have pages cached within a data cache. |
monCachePool |
Provides statistics for all pools allocated for all caches. |
monOpenObjectActivity |
Provides statistics for all open objects. |
monIOQueue |
Provides device IO statistics broken down into data and log IO, for normal and temporary databases on each device. |
monDeviceIO |
Provides statistical information about devices. |
monSysWaits |
Provides a server-wide view of events that processes are waiting for. |
monProcess |
Provides information about processes that are currently executing or waiting. |
monProcessLookup |
Provides information enabling processes to be tracked to an application, user, client machine, etc. |
monProcessActivity |
Provides statistics about process activity. |
monProcessWorkerThread |
Provides information about process use of worker threads. |
monProcessNetIO |
Provides statistics about process network I/O activity. |
monProcessObject |
Provides statistical information about process object access. |
monProcessWaits |
Provides information about processes currently waiting for an event. |
monProcessStatement |
Provides statistics for currently executing statements. |
monSysStatement |
Provides statistics for the most recently executed statements. The maximum number of statement statistics returned can be tuned by use of the "statement pipe max messages" configuration option. |
monProcessSQLText |
Provides the SQL text that is currently being executed. The maximum size of the SQL Text returned can be tuned by use of the "max SQL text monitored" configuration option. |
monSysSQLText |
Provides the most recently executed SQL text. The maximum number of messages returned can be tuned by use of the "sql text pipe max messages" configuration option. |
monCachedProcedures |
Provides statistics about all procedures currently stored in procedure cache. |
monProcessProcedures |
Provides information about procedures that are being executed. |
monSysPlanText |
Provides the most recently generated plan text. The maximum number of messages returned can be tuned by use of the "plan text pipe max messages" configuration option. |
© 2024 Quest Software Inc. ALL RIGHTS RESERVED. Conditions d’utilisation Confidentialité Cookie Preference Center