WAS Threads Test

To optimize performance and at the same time to support concurrent accesses from users, the application server uses thread pools. It is critical to monitor a WebSphere server's thread pools on an ongoing basis. This test monitors the thread pools on a WebSphere 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 thread on the WebSphere application server

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

ServerHostName

Specify the host name of the application server instance being monitored.

AppPort

Specify the port number to be used for accessing the egurkha application that has been deployed on the server.

NodeName

eG Enterprise can auto-discover and auto-manage the target application server that is hosted on a container. In such containerized environments, this test can auto-discover the node name corresponding to the target server instance and report the metrics. To this effect, this parameter is set to EG_ENV_WAS_NODE.

On the other hand, if the IBM WebSphere Application Server is directly installed in the target environment, you should 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 that corresponds to the application server instance being monitored, and specify that name against the NodeName parameter.

ServerName

eG Enterprise can auto-discover and auto-manage the target application server that is hosted on a container. In such containerized environments, this test can auto-discover the name of target server instance and report the metrics. To this effect, this parameter is set to EG_ENV_SERVER_NAME.

On the other hand, if the IBM WebSphere Application Server is directly installed in the target environment, you should provide the name of the server instance being monitored in the SERVERNAME text box. To know the server 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 Name of the monitored server instance, and specify that name against the ServerName parameter.

If the server instance being monitored is part of a WebSphere cluster, then you need to provide the host name that corresponds to the connector port of the Deployment Manager of the cluster as the ServerName. To determine the ServerName in this case, do the following:

  • Connect to the WebSphere Administrative console using the URL: http://<IP address of the WebSphere server:Port number of the WebSphere server>\adminor https://<IP address of the WebSphere server:Port number of the WebSphere server>\admin.
  • Login to the WebSphere Administrative console
  • Expand the System Administration node in the tree-structure in the left pane of the console and click on the Deployment Manager sub-node within.
  • In the right panel, click on the Configuration tab page to view the configuration of the Deployment Manager. In the Additional Properties section of the Configuration tab page, expand the Ports node.
  • A list of ports will then appear. Click on the Details button alongside the ports list. 
  • If the SOAP port has been set as the connector port in your environment, then scroll down the page that appears next until you view the Port Name, SOAP_CONNECTOR_ADDRESS. Make note of the Host name that corresponds to this port name. If the RMI port is the connector port in your environment, then make note of the Host name that corresponds to the Port name, BOOTSTRAP_ADDRESS.
  • Specify this Host name as the ServerName.

ConnectorPort

The applications that are deployed on a server instance use the ConnectorPort for all internal communications with the application server. The connector port can be a SOAP port or an RMI port. The default connector port however, is the SOAP port. To know the connector port number, 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 Application Servers within.
  • A list of application server instances and their corresponding node names will then appear in the right pane of the console. In the right pane, click on the server name link that corresponds to the server instance that is being monitored.
  • Doing so invokes the Configuration of the application server instance clicked on. Scroll down the Configuration tab page to view the Communications section.
  • Expand the Ports link in this section to view a list of ports. If the default connector port is in use, then the port number displayed against SOAP_CONNECTOR_ADDRESS should be specified as the ConnectorPort. If an RMI port has been explicitly set as the connector port, then specify the port number displayed against BOOTSTRAP_ADDRESS as the ConnectorPort.

If the server instance being monitored is part of a WebSphere cluster, then you need to provide the SOAP/RMI port of the Deployment Manager of the cluster as the ConnectorPort. To determine the ConnectorPort in this case, do the following:

  • Connect to the WebSphere Administrative console using the URL: http://<IP address of the WebSphere server:Port number of the WebSphere server>\adminor https://<IP address of the WebSphere server:Port number of the WebSphere server>\admin.
  • Login to the WebSphere Administrative console.
  • Expand the System Administration node in the tree-structure in the left pane of the console and click on the Deployment Manager sub-node within.
  • In the right panel, click on the Configuration tab page to view the configuration of the Deployment Manager. In the Additional Properties section of the Configuration tab page, expand the Ports node.
  • A list of ports will then appear. If the default connector port is in use, then the port number displayed against SOAP_CONNECTOR_ADDRESS should be specified as the ConnectorPort. If an RMI port has been explicitly set as the connector port, then specify the port number displayed against BOOTSTRAP_ADDRESS as the ConnectorPort.

SSL

Select Yes if SSL (Secured Socket Layer) is to be used to connect to the WebSphere server, and No if it is not.

User

If security has been enabled for the WebSphere server being monitored, then provide a valid USER name to login to the WebSphere server. While monitoring IBM Websphere Application server 8.x and above, if the user belongs to an external LDAP directory, then, ensure that the User is assigned the Monitor role. 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.

 

Measurements made by the test

Measurement

Description

Measurement Unit

Interpretation

Active count

Indicates the number of threads that are currently active.

Number

A high value for this measure is indicative of a high load on this application and combined with the creation and destroy rates might give insights of the application pattern.

This measure is also useful for determining usage trends. For example, it can show the time of day and the day of the week in which you usually reach peak thread count. In addition, the creation of too many threads can result in out of memory errors or thrashing. By watching this metric, you can reduce excessive memory consumption before it’s too late.

Create count

Indicates the number of threads that were created since the last measurement period.

Number

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

Destroy count

Indicates the number of threads that were destroyed since the last measurement period.

Number

A decrease in the value of this measure indicates that the threads are being active for a long period of time, which might indicate anomalies within the application.

Pool size

Indicates the number of threads in the pool, currently.

Number

If the pool size is high and the number of active threads is low, it signifies that the threads are not being destroyed immediately after use.

Threads hung count

Indicates the number of concurrently stopped threads.

Number

 

Percent used

Indicates the percent usage of threads in the pool.

Percent

The value of this measure is computed as a on the basis of the total number of threads configured in the pool, and not the pool size.