Progress Users Test
A Progress database server provides data concurrency and integrity between transactions using locking mechanisms. The locking activity of a database server should be monitored carefully because an application holding a specific lock for a long time could cause a number of other transactions relying on the same lock to fail.
This test indicates the level of locking activity on a database in terms of the number of locks of different modes held by each user per second and the time taken by each user to hold a RECORD lock and TRANSACTION lock. In addition, this test reveals the number of total locks held and total time since current lock mode was granted. This test also periodically reports the read-write activity of each user. Using this test, administrators can easily identify which user is performing resource intensive I/O operations. This way, this test reveals the irregularities in the I/O operations performed by the users and further analyze the real reason behind the abnormally high I/O operations performed by the user.
Target of the test : A Progress Database server
Agent deploying the test : An internal/external agent
Outputs of the test : One set of results for every user on the target Progress database server being monitored
Parameter | Description |
Test Period |
How often should the test be executed |
Host |
The IP address of the Progress database server. |
Port |
The port number on which the database server is listening. By default, this is NULL. |
Database Name |
Specify the name of the Progress database instance that is to be monitored. |
Username |
In order to monitor a Progress database instance, a special database user account has to be created in every Progress database instance that requires monitoring. This special user needs to be granted a set of privileges. To know how to create the database user and grant the required privileges, refer to Pre-Requisites for monitoring the Progress database. Specify the name of such a user in this text box. |
Password |
The password of the specified Username. |
Confirm Password |
Confirm the password by retyping it here. |
Measurement | Description | Measurement Unit | Interpretation |
---|---|---|---|
Exclusive locks |
Indicates the rate at which EXCLUSIVE locks were held by this user on the database during the last measurement period. |
Locks/Sec |
Exclusive locks are used to lock data being modified by one transaction thus preventing modifications by other concurrent transactions. You can read data held by exclusive lock only by specifying a NOLOCK hint or using a read uncommitted isolation level. Because DML statements first need to read the data they want to modify you’ll always find Exclusive locks accompanied by shared locks on that same data. |
Record locks |
Indicates the rate at which RECORD locks were held by this user on the database during the last measurement period. |
Locks/Sec
|
|
Record lock waits |
Indicates the rate at which this user had to wait to get hold of RECORD locks on the database during the last measurement period. |
Waits/sec |
|
Shared locks |
Indicates the rate at which SHARED locks were held by this user on the database during the last measurement period. |
Locks/sec |
|
Transaction locks |
Indicates the rate at which TRANSACTION locks were held by this user on the database during the last measurement period. |
Locks/sec |
|
Transaction lock waits |
Indicates the rate at which this user had to wait to get hold of TRANSACTION locks on the database during the last measurement period |
Waits/sec |
|
Locks count |
Indicates the total number of locks that were currently held by this user. |
Number |
A high value may indicate one of the following:
The detailed diagnosis of this measure lists the Table name, Lock type, Userlock flag, Record ID, Transaction ID, Transaction flag, Transaction state, Transaction start time, Duration, Client IP address, Statement type and SQL text. |
Lock rate |
Indicates the rate at which the locks were held by this user during the last measurement period. |
Locks/sec |
A low value is desired for this measure. |
Current sessions |
Indicates the total number of sessions established by this user on the database. |
Number |
A high value may indicate that the user is causing a high load on the server. The detailed diagnosis of this measure if enabled, lists all the current sessions of the user along with the Connection PID, Client IP Address, Connection Client Type, Connection Type ,Connection Time, Statement type and SQL text. |
Session usage |
Indicates the session utilization of this user. |
Percent |
A high value may indicate that the user is causing a high load on the server. By increasing the _Startup-MaxUsers Parameter the maximum number of sessions allowed for the user can be increased. It will avoid the failure of session’s requests on the server. |
Access rate |
Indicates the rate at which this user performed database access operations during the last measurement period. |
Accesses/sec |
|
Reads |
Indicates the rate at which read operations were performed by this user on the database server during the last measurement period. |
Reads/sec |
|
Writes |
Indicates the rate at which data was written to the database server by this user during the last measurement period. |
Writes/sec |
|
Before-image reads |
Indicates the rate at which data was read from the Before-Image file by this user during the last measurement period. |
Reads/sec |
|
Before-image writes |
Indicates the rate at which data was written to the Before-Image file by this user during the last measurement period. |
Writes/sec |
|
After-image reads |
Indicates the rate at which data was read from the After-Image file by this user during the last measurement period. |
Reads/sec |
|
After-image writes |
Indicates the rate at which data was written to the After-Image file by this user during the last measurement period. |
Writes/sec |
|