Chat now with support
Chat with Support

SQL Optimizer for SAP ASE 3.8 - User Guide

Introduction Tutorials Preferences Editor Functions SQL Information and Functions Performance Monitor SQL Inspector SQL Collector for Monitor Server SQL Scanner Index Advisor SQL Optimizer
SQL Optimizer Overview Optimization Engine Common Coding Errors in SQL Statements What Function Should l Use to Retrieve the Run Time? Unsatisfactory Performance Results SQL Optimizer Functions SQL Editor Optimized SQL Activity Log
SQL Worksheet SQL Formatter Database Explorer Code Finder Object Extractor SQL Repository Index Impact Analyzer Index Usage Analyzer Configuration Analyzer Migration Analyzer Abstract Plan Manager User-Defined Temp Tables SQL History Legal Information

Performance Monitor

Performance Monitor Overview

Performance Monitor > Performance Monitor Overview

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.

 

Related Topics

Performance Monitor Privileges

Performance Monitor > Performance Monitor Privileges

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.

 

Supported Monitoring Tables

Performance Monitor > Supported Monitoring Tables

Supported Monitor Tables

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.

 

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating