UniVerse Database Sessions Test

Administrators can limit the number of sessions that can be established on a UniVerse database server, so as not to choke the server. At frequent intervals, administrators should monitor the session count on the server and figure out if the maximum session limit is about to be reached or not. This will enable administrators to proactively detect potential overload conditions, and take pre-emptive action against the same. This is exactly what the UniVerse Database Sessions test helps administrators achieve! At configured intervals, this test reports the session load and overall session usage by the users of the database server, and warns administrators of a probable overload condition on the server. Additionally, the test also reports the number and type of sessions launched per user, and thus reveals which user(s) has contributed the most to the overload and the type of sessions responsible for the same. The details of users and their sessions are also revealed as part of detailed diagnostics. Using these useful problem pointers, administrators can decide between killing idle sessions to reduce the load on the server or increasing the session limit to accommodate more number of sessions. 

Target of the Test: A UniVerse database server

Agent running the test: An internal agent

Output of the test: One set of results for every user who is currently logged into the database server. Measures will also be reported for an additional All descriptor. The session load and usage metrics will be aggregated across all users and reported for this descriptor.

Configurable parameters for the test
Parameter Description

Test period

How often should the test be executed.

Host

The host for which the test is to be configured.

Port

The port number at which the specified Host listens to. By default, this will be 31438.

Universe Shell Path

This test uses UniVerse shell commands to pull the desired metrics from the server. To enable the test to run these commands, provide the path to the bin folder of the UniVerse install directory. For example, for a Windows installation of UniVerse, the universe shell path can be: C:\U2\UV.  For a Unix installation, your specification can be: \usr\uv.

Eclipse Path

U2 DBTools include Eclipse-based tools for programming and administration. Eclipse is an integrated development environment (IDE). It contains a base workspace and an extensible plug-in system for customizing the environment. Eclipse is written mostly in Java and its primary use is for developing Java applications. Where Eclipse IDE is installed, the eG agent should be configured to use the Eclipse environment for executing the UV shell commands. In this case therefore, type the full path to the Eclipse home directory. By default however, this parameter is set to none, indicating that by default, the eG agent runs the commands from the UniVerse shell only and not Eclipse.

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.
Metrics reported by the test
Measurement Description Measurement Unit Interpretation

Maximum session limit

Indicates the maximum number of sessions that can be launched on the target UniVerse database server.

Number

This measure will only be reported for the ‘All’ descriptor of this test.

 

Total sessions

Indicates the total number of sessions currently opened by this user. For the All descriptor, this measure will report the total number of open sessions on the target UniVerse database server, regardless of user. 

Number

Using the value that this measure reports for the All descriptor, you can gauge how loaded the server is presently. You can then compare the value of this measure with the value of the Maximum session limit measure to know if the server is fast approaching its session limit or can accommodate many more sessions. If the former is true, it indicates a potential overload condition on the server. You can then compare the value of this measure across users to know which user is contributing the most to the overload.

Session usage

Indicates the percentage of sessions utilized by this user. For the All descriptor, this measure will report what percentage of the maximum session limit is being used by all users logged into the server.

Percent

A value close to 100% for the All descriptor reveals that too many sessions are currently open on the server, and may soon cause the server to consume its session limit. If that happens, then the server will deny access to new session requests. To avoid this, first check whether the server is sized with adequate resources to handle additional load, and if so, increase the session limit of the server.

However, if the server does not have enough processing power, then you may want to kill the sessions that are idle or are engaged in inconsequential operations, so that the load on the server drops; this way, you can make room for newer sessions as well. To achieve this, first compare the value of this measure across users to know which user is contributing to the overload. Then, use the detailed diagnosis of the Interactive sessions and Background processes measures of that user to know which sessions of these users are unnecessarily consuming resources, and target such sessions for termination. 

Interactive sessions

Indicates the total number of interactive processes initiated by this user. For the All descriptor, this measure will report the sum total of interactive processes initiated by all users of the database server.

Number

Interactive processes are those that are initiated by the user and run in the foreground.

Background processes are those that are initiated by the user using the PHANTOM command. Phantom processes run in the background and are useful for long running or load spreading operations.

If the value of the Session usage measure is close to 100% for the All descriptor, then compare the value of the Interactive sessions and Background sessions measure for that descriptor to know what type of sessions are causing the overload.

If interactive sessions are contributing to the overload, then compare the value of the Interactive sessions measure across users to know which user has initiated the maximum number of interactive processes. Then, use the detailed diagnosis of the Interactive sessions measure of that user to view the PID of the interactive processes, the command that was last executed by each process, which terminal that user logged in from, and what time the user logged in. From this, you can identify the interactive sessions that have been open for too long a time running inconsequential commands, and mark them for termination.

Likewise, if background sessions are contributing to the overload, then compare the value of the Background sessions measure across users to know which user has initiated the maximum number of background processes. Then, use the detailed diagnosis of the Background sessions measure of that user to view the PID of the background processes, the command that was last executed by each process, which terminal that user logged in from, and what time the user logged in. From this, you can identify the background sessions that have been open for too long a time running inconsequential commands, and mark them for termination.

Background sessions

Indicates the number of background processes initiated by this user. For the All descriptor, this measure will report the sum total of all background processes initiated by all users of the database server.

Number