WebSphere JDBC Test

Rather than opening and closing connections for individual database accesses, the WebSphere application server creates pools of database connections that are reused. To understand the performance of a WebSphere application server, it is critical to monitor the usage of the connection pools by the server.

Target of the test : A WebSphere application server

Agent deploying the test : An internal agent

Outputs of the test : One set of results for each database connection pool that exists on the WebSphere application server being monitored

Configurable parameters for the test
Parameters Description

Test Period

How often should the test be executed .

Host

The IP address of the WebSphere application server

Port

The port number of the WebSphere application server

WebServerPort

The port number through which the WebSphere applications can be accessed.

SSL

Indicate whether the SSL (Secured Socket Layer) is to be used to connect to the WebSphere server.

ServerHostName

Specify the node name of the server instance being monitored. To know the node name, do the following:

  • Login to the WebSphere Administrative Console.
  • Expand the Servers node in the tree structure in the left pane of the console, and click on the Application Servers link within.
  • A list of application server instances and their corresponding node names will then appear in the right pane of the console. From this list, you can figure out the node name that corresponds to the application server instance being monitored, and specify that name against the ServerHostName parameter.

NDManager

The NDManager parameter is applicable only under the following circumstances:

  1. If the WebSphere server being monitored belongs to a cluster, or,
  2. If the WebSphere server being monitored is one of many instances of the server running on the same host

In the case of situation (a), in the NDManager text box, provide the host name of the node manager that manages the application servers in the cluster. To know the name of the Node Manager, do the following:

  • Login to the Administrative Console of the node manager using the URL http://<IPoftheWebSphereAppServer'sNodeManager>:<Adminport>/admin/.
  • Using the tree-structure in the left pane of the Administrative Console that appears, drill down to the Deployment Manager node within System Administration.
  • Select the Configuration tab that appears in the right pane, and scroll down to the End Points link in the Additional Properties section.
  • Once you locate the End Points link, click on it, and in the page that appears, click on the SOAP_CONNECTOR_ADDRESS link.
  • In the subsequent page, a fully qualified domain name will be displayed against Host. This is the name that should be specified as the host name of the node manager in the NDManager text box.

In the case of situation (b), enter the ServerHostName itself as the NDManager. If both conditions (a) and (b) do not apply, then specify none here.

ConnectorPort

The ConnectorPort parameter is applicable only under the following circumstances:

  1. If the WebSphere server being monitored belongs to a cluster, or,
  2. If the WebSphere server being monitored is one of many instances of the server running on the same host

In case of situation (a), the ConnectorPort parameter will take the port number using which the node manager communicates with the WebSphere servers in the cluster. The connector port can be a SOAP port or an RMI port. To know the port number, do the following:

  • From the Node manager's host, open the <WEBSPHERE_INSTALL_DIR>\DeploymentManager\properties\wsadmin.properties file.
  • Two entries that read as follows will be present in the wsadmin.properties file:

    com.ibm.ws.scripting.port=<port_number>

    #com.ibm.ws.scripting.port=<port_number>

    Both the entries will have port numbers against them. However, the uncommented entry (the entry without the #) is the one that denotes an active port. Therefore, specify the corresponding port number as the ConnectorPort.

In case of situation (b), do the following to know the ConnectorPort:

  • Login to the WebSphere Administrative Console.
  • Expand the Servers node in the tree-structure in the left pane of the console, and click on the Application Servers link. A list of application server instances will then appear in the right pane.
  • Click on the server instance being monitored. Doing so invokes the Configuration of the chosen server instance appears.
  • Scroll down the Configuration to view the End Points link. Once you locate the End Points link, click on it.
  • In the page that appears next, click on the SOAP_CONNECTOR_ADDRESS link.
  • The Port displayed in that page should be used as the ConnectorPort in situation (b).

If both (a) and (b) do not apply, specify none against ConnectorPort.

User

If security has been enabled for the WebSphere server being monitored, then provide a valid User name to login to the WebSphere server. If the WebSphere server does not require any authentication, then the User text box should contain the default value 'none'.

Password

If security has been enabled for the WebSphere server being monitored, then provide the Password that corresponds to the specified User name. If the WebSphere server does not require any authentication, then leave the Password text box with its default setting.

Confirm Password

If security has been enabled, confirm the specified Password by retyping it in the Confirm Password text box.  If the WebSphere server does not require any authentication, then leave the Confirm Password text box with its default setting.

EncryptPass

By default, this flag is set to Yes, indicating that the Password of the WebSphere server is encrypted by default. To disable password encryption, select the No option.

ServerName

Specify the name of the WebSphere server instance to be monitored. To know the instances of a WebSphere server currently available, first, connect to the WebSphere Administrative console using the URL: http://<IP address of the WebSphere server:Port number of the WebSphere server>\admin. Then, login to the administrative console and expand the Servers node in the left pane of the console. Next, click on the Application Servers sub-node under the Servers node. A list of server instance Names and their corresponding Node values will then be displayed in the right pane. One of the displayed server instances can be specified as the value of the ServerName parameter.

Timeout

In the Timeout text box, specify the maximum duration (in seconds) for which the test will wait for a response from the application server. The default Timeout period is 60 seconds.

Measurements made by the test

Measurement

Description

Measurement Unit

Interpretation

Database connection rate

Indicates the rate at which the connections are created in the pool.

Conns/Sec

A sudden increase in the value of this measure directly relates to an increase in the database activity happening in this application.

Connection destroy rate

Indicates the rate at which the connections are released from the pool.

Conns/Sec

A decrease in the value of this measure points to an unusual performance of the application. The application might not be releasing the connections.

Connection return rate

This measure indicates the rate at which the connections are being returned to the pool.

Conns/Sec

A low value of this measure might be due to some applications that are not releasing the connections to the pool.

Allocate rate

Indicates the rate at which the connections are allocated from the pool.

Conns/Sec

A high value for this measure indicates more activity happening on the server. An unusually high value for this measure might result in the pool running out of connections, if the Return_rate is not concurrent.

Pool size

Indicates the number of connections in the pool. It indicates the active pool size.

Number

A growing pool size may be due to some of the applications not releasing connections to the pool.

Concurrent waiters

Indicates the average number of threads waiting for a connection.

Number

A high value indicates a bottleneck on the application server. This may be caused due to unreleased connections.

Avg wait time

Indicates the average time that a client waited to be granted a connection.

Secs

An increase in this measure reflects a server bottleneck.

Faults

Indicates the rate at which connection pool timeouts occur.

Faults/Sec

A high value is indicative of a bottleneck on the server.

Usage

Indicates the average percentage of connections of the pool in use

Percent

This measure should not reach the maximum of 100% for optimal performance of the application server. To reduce this value, try increasing the pool size.

Percent maxed

Average percentage of the time that all connections are in use.

Percent

A high value indicates that the pool size needs to be increased for effective operation of this application.

Prepared statement cache discard rate

Indicates the rate at which the prepared statements are discarded from the cache.

Stmts/Sec

A high value indicates a bottleneck in the application. It is a sign of inefficient performance of the application.