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

Configurable parameters for the test
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.

Measurements made by the test
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:

  • Too many transactions happening
  • Locked resources not being released properly
  • Locks are being held unnecessarily

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