The Interactive Performance Monitor User Guide provides a comprehensive look at the performance monitoring capabilities of Ingres®. This chapter provides a brief introduction to the Interactive Performance Monitor (IPM) and the ways it can be used. This chapter also introduces you to various conventions and notations used throughout the guide.
The Interactive Performance Monitor (IPM) monitors a running Ingres installation. It displays information about servers, sessions, and locking and logging activity.
IPM is an interactive, forms-based interface with the functionality of the following tools:
IPM can be used for multiple purposes, as follows:
IPM monitors the state of the different processes, the logging and locking systems, the database servers, the log file, and the user sessions.
IPM can be used to analyze performance problems. It displays in real time which tables and pages are locked, whether the locks are shared or exclusive, and which transactions are blocking or possibly deadlocked with other transactions. It displays user sessions and whether each is active or waiting for user input, and displays log file and logging system statistics.
IPM provides information useful for maintaining and tuning the Ingres configuration. For example, it displays in real time how much of the log file is in use and by whom. IPM can also be used to spot user behaviors that interfere with other users, such as transactions that are neither committed nor rolled back over a long time.
You should be familiar with the following terms and definitions. Some of these terms will assist you in interpreting the monitoring data displayed by IPM.
A blocking lock is a lock granted on a resource in such a way as to prevent another lock from being granted on that same resource. For example, an exclusive lock on a table prevents another shared or exclusive lock from being granted on that table. A blocking lock serializes access to a resource, table, page, or database. For example, an exclusive lock on a table blocks all other access to that table. Until the transaction holding the lock completes (commits or rolls back), all other transactions must wait.
Note: A blocking lock is not a deadlock.
A deadlock is a condition that occurs when one transaction is waiting for a lock held by another transaction at the same time that the other transaction is waiting for a lock held by the first. Both transactions block each other from completing.
A lock list is a list of one or more locks on resources in a given database or servers. Each session has at least one lock list. When a session is in a transaction, that session has an additional lock list containing all the locks acquired during the transaction.
A logical lock is a lock that is usually acquired during a transaction and released during a transaction or at commit time. A page lock is a logical lock.
A physical lock is a lock that can span multiple transactions in any given session. In most cases, table and database locks are held from the point that they are acquired until the end of the session.
A resource is any object in a database on which a lock can be held. A table, a page in a table, or even a database is a resource.
A command is an operation that you execute at the operating system level. An extended operation invoked by a command is often referred to as a utility.
A statement is an operation that you embed within a program or execute interactively from a terminal monitor. A statement can be written in Ingres 4GL, a host programming language (such as C), or a database query language (SQL or QUEL).
This guide provides information that is specific to your operating system, as in these examples:
Windows: This information is specific to the Windows operation system.
UNIX: This information is specific to the UNIX operation system.
VMS: This information is specific to VMS operating system.
When necessary for clarity, the symbol
is used to indicate the end of the system-specific text.
For sections that pertain to one system only, the system is indicated in the section title.
This guide uses the following conventions to describe syntax:
Convention |
Usage |
|---|---|
Monospace |
Indicates key words, symbols, or punctuation that you must enter as shown |
Italics |
Represent a variable name for which you must supply an actual value |
[ ] (brackets) |
Indicate an optional item |
{ } (braces) |
Indicate an optional item that you can repeat as many times as appropriate |
| (vertical bar) |
Separates items in a list and indicates that you must choose one item |