eG Monitoring
 

Measures reported by MsSqlConnsTest

This test reports the number and state of sessions of each user who is currently connected to the Microsoft SQL server. Using the metrics reported by this test, administrators can promptly isolate idle sessions and suspended sessions, which are a drain on a server's resources.

The measures made by this test are as follows:

Measurement Description Measurement Unit Interpretation
Total_processes Indicates the total number of sessions currently open on the server for this user. Number  
Running_processes Indicates the number of sessions of this user that are currently active. Number The detailed diagnosis of this measure, if enabled, will provide the complete details of the active sessions of a particular user. Using this information, you can understand how each of the connections were made - i.e., using which program - and from where - i.e., from which host.
Sleeping_processes Indicates the number of sessions initiated by this user that are currently idle. Number Ideally, the value of this measure should be low. A high value is indicative of a large number of idle sessions, which in turn causes the unnecessary consumption of critical server resources. Idle sessions also unnecessarily lock connections from the connection pool, thereby denying other users access to the server for performing important tasks.

The detailed diagnosis of this measure, if enabled, will provide the complete details of the idle sessions of a particular user. Using this information, you can understand how each of the idle connections were made - i.e., using which program - and from where - i.e., from which host.

Suspended_processes Indicates the number of sessions initiated by this user that are currently suspended. Number A session can switch to a suspended state if one/more processes triggered in that session could not continue executing; a possible reason for this could be that the processes are waiting for blocked rows or a blocked table to be released.

The detailed diagnosis of this measure, if enabled, will provide the complete details of the suspended sessions of a particular user.

Background_processes Indicates the number of background processes currently running for this user. Number The detailed diagnosis of this measure, if enabled, provides the details pertaining to the background processes currently executing.

Blocked_processes Indicates the number of processes that were currently blocked for this user. Number A low value is desired for this measure. If a process is found to hold a lock for too long a time, then such processes can be killed so as to free the resource for the corresponding blocked process.

The detailed diagnosis of this measure, if enabled, provides the details pertaining to the background processes currently executing.

Dormant_processes Indicates the number of processes of the session that were reset for this user. Number The detailed diagnosis of this measure, if enabled, provides the details pertaining to the processes that were reset.

Pending_processes Indicates the number of processes of each session that were waiting for a worker thread to become available for this user. Number The detailed diagnosis of this measure, if enabled, provides the details pertaining to the processes that were waiting for a worker thread to become available.

Spinloop_processes Indicates the number of processes of this user that were waiting for a spinlock to become free. Number Spinlocks are lightweight synchronization primitives which are used to protect access to data structures. They are generally used when it is expected that access to a given data structure will need to be held for a very short period of time. When a thread attempting to acquire a spinlock is unable to obtain access it executes in a loop periodically checking to determine if the resource is available instead of immediately yielding. After some period of time a thread waiting on a spinlock will yield before it is able to acquire the resource in order to allow other threads running on the same CPU to execute.

Ideally, the value of this measure should be zero. A high value of this measure indicates that the resources are locked by unresponsive processes which would eventually lead to the slow responsiveness of the SQL server.

The detailed diagnosis of this measure, if enabled, provides the details pertaining to the processes that were waiting for a spinlock to become free.

Rollback_processes Indicates the total number of processes that were rolled back for this user. Number The detailed diagnosis of this measure, if enabled, provides the details pertaining to the processes that were rolled back.