Sybase System Processes Test

This test reports details about the system processes running in a Sybase database server.

Target of the test : A Sybase ASE server on which the MDA tables have been installed

Agent deploying the test : An internal agent

Outputs of the test : One set of results for every user being monitored.

Configurable parameters for the test
Parameter Description

Test Period

How often should the test be executed.

Host

Refers to the IP address of the Sybase ASE server.

Port

The port number at which the server listens to.

User

To enable this test to connect to the Sybase server and collect the required metrics, it is enough if you configure the test with the name of a Sybase user who has the “mon_role”. However, for best results, it is recommended that you configure all Sybase tests with the credentials of a Sybase user who has the “mon_role”, “sa_role’, and “sybase_ts_role”.

Password

The password corresponding to the above user.

Confirm Password

Confirm the password by retyping it here.

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Sybase processes

The total number of Sybase processes

Number

 

Background processes

The total number of background processes run by the Adaptive Server rather than by a user process

Number

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

Running processes

The total number of running processes

Number

The detailed diagnosis of this measure, if enabled, provides details such as the ID of the running processes, the user executing each of the processes, the database on which every process is executing etc.

Sleeping processes

The total number of sleeping processes

Number

The detailed diagnosis of this measure, if enabled, provides details such as the ID of the sleeping processes, the user executing each of the processes, the database on which every process is executing, the sleep status, sleep time etc.

Infected processes

The total number of processes in which the server has detected a serious error condition

Number

The detailed diagnosis of this measure, if enabled, provides the ID of the infected processes, the user executing each of the processes, and the database on which every process is executing. This information enables the user to isolate the specific queries that are infected. Further analysis of these queries can be performed, in order to figure out the reason for the infection and take adequate measures to prevent it from recurring.

Blocked processes

If a process attempts to access a resource that is already in use by another process, then such a process will be blocked until such time that the other process releases the resource. This measures indicates the total number of blocked processes.

Number

The detailed diagnosis of this measure, if enabled, reveals information such as the ID of the blocked processes, the user executing each of the processes, the database on which every process is executing, the waiting time of the blocked process, the command that initiated the block, etc.

Remote processes

Indicates the number of processes that are processing I/O with a remote server.

Number

The detailed diagnosis of this measure, if enabled, reveals information such as the ID of the remote processes, the user executing each of the processes, the database on which every process is executing, resource usage per process, etc.

Stopped processes

Indicates the number of processes that have stopped executing.

Number

The detailed diagnosis of this measure, if enabled, reveals information such as the ID of the stopped processes, the user executing each of the processes, the database on which every process is executing, resource usage per process, etc.

The detailed diagnosis of the Blocked processes measure not only reveals the IP of the process that has been blocked, but also provides useful information indicating the resource usage of each blocked process, along with the last query that was executed by the blocked process.

DDblockedprocs

Figure 1 : Detailed diagnosis of the Blocked processes reported by the SybaseSysProcesses test

For performing additional diagnosistics on the blocked process, click on the Sys Processes icon (sysprocsicon) in Figure 1. Figure 2 will then appear, listing the Process ID of each blocked process. By default, the Process ID will be sorted in the ascending order of the ID itself; to change the sort order, pick a different option from the Sort By list. The Process IDs will then be listed in the chosen sort order. Selecting a Process ID from the list will reveal the following in the right panel of Figure 2: the current status of the chosen process, the database on which the process is executing, the duration for which it was blocked, and the CPU, I/O, and memory resources that were consumed by the process. In addition, the LastCommand executed by the process will also be displayed.

stacktrace

Figure 2 : Analyzing blocked processes

Moreover, the Spid of the blocked process, as displayed in Figure 2, will be accompanied by a link to the ID of the process that is blocking it. Clicking on this link will reveal the complete details of the blocking process (see Figure 3), including the command executed by that process.

stacktrace(a)

Figure 3 : Details of the blocking process

By analyzing the query of the blocking process, you can determine whether deficiencies in query formulation caused this process to block the other process; if so, you can fine-tune the query to remove the block.

View the complete details of running processes by using the detailed diagnosis of the Running processes measure. Besides the process ID and the user who initiated the process, the detailed diagnosis will also reveal the resource usage (CPU, IO, Physical memory) of each process, thus bringing resource-intensive processes to your attention. The last command executed by the process will also be revealed. For further diagnosis, use the Sys Processes icon (sysprocsicon) in Figure 5.

DDrunningprocs

Figure 4 : The detailed diagnosis of the Running processes measure reported by the SybaseSysProcesses test

To view the complete details of sleeping processes, use the detailed diagnosis of the Sleeping processes measure. In addition to process ID and user name, the detailed diagnosis also reveals the last command that was executed by the sleeping process, thereby pointing you to queries that may require optimization. For further diagnosis, use the Sys Processes icon (sysprocsicon) in Figure 5.

DDsleepingprocs

Figure 5 : The detailed diagnosis of the Sleeping processes measure reported by the SybaseSysProcesses test

For viewing detailed metrics related to remote processes, use the detailed diagnosis of the Remote processes measure. In addition to process ID and user name, the detailed diagnosis also reveals the last command that was executed by the remote process, thus revealing the nature of interactions between Sybase and the remote server. For further diagnosis, click on the (sysprocsicon)icon in Figure 6.

DDremoteprocs

Figure 6 : The detailed diagnosis of the Remote processes measure reported by the SybaseSysProcesses test