JBoss Connectors Test

In a typical WildFly JBoss architecture, there are two main web connectors namely the Java I/O Connector and the AJP Connector. While the Java I/O connector uses the Java I/O to serve HTTP/HTTPS connections directly to the platform, the AJP Connector uses Apache’s Portable Runtime (APR) native code library. Often, the connectors of the WildFly JBoss server receive a large number of requests for processing. In such cases, it becomes inevitable to identify how many requests are processed by the connector, how long it takes to process a request etc. The JBoss Connectors test exactly helps you figure out your concerns! This test not only monitors the number of incoming requests processed by each connector but also evaluates the time taken for processing the requests and the maximum time taken to process a single request. This test also sheds light on the amount of data used in processing the requests and errors encountered while processing the requests.

Target of the test : A WildFly JBoss server

Agent deploying the test : An internal agent

Outputs of the test : One set of results for each connector on the target WildFly JBoss that is to be monitored

Configurable parameters for the test
  1. TEST PERIOD - How often should the test be executed
  2. Host – The host for which the test is to be configured
  3. port– The port at which the specified HOSTlistens. By default, this is 9990.
  4. SSLIf the WildFly JBoss server being monitored is an SSL-enabled server, then set the sslflag to Yes. If not, then set the sslflag to No.
  5. IS JBOSS RUNNING IN DOMAIN MODE?– Specify whether the server to be monitored is currently running in DOMAIN MODE or not. By default, this flag is set to No which implies that the server is currently running in STANDALONE MODE. If you have started the target JBoss server using the default web profile configuration in domain mode i.e, if you have executed the ./domain.sh command from the <JBoss_INSTALL_DIR>/bin directory, then specify Yes against this flag.
  6. JBOSS HOST NAME – Specify whether the target server to be monitored is a master or a slave in a JBoss cluster. By default, none will be specified here which implies that the target JBoss server is a standalone server. Refer to Identifying the host name and server instance name of the WildFly JBoss server running in Domain mode to know how to identify whether the target server is a master or slave in your environment.
  7. JBOSS SERVER INSTANCE NAMESpecify the name of the server instance that is to be monitored. By default, none will be specified here. Refer to Identifying the host name and server instance name of the WildFly JBoss server running in Domain mode to identify the name of the server instance that is to be monitored. 
  8. MANAGEMENT USER and MANAGEMENT PASSWORDSpecify the credentials of the user who is authorized to access the management console of the target JBoss server. To create a new user, refer to Creating a new management user in the WildFly JBoss server of this document.
  9. confirm password– Confirm the MANAGEMENT PASSWORD by retyping it here.
Measures made by the test:
Measurement Description Measurement Unit Interpretation

Request count:

Indicates the number of incoming requests processed by this connector.

Number

A high value is desired for this measure.

Processing time:

Indicates the total time taken by this connector to process the incoming requests.

Mins

A low value is desired for this measure. The maxThreads parameter of the WildFly JBoss is set to 200 by default. This implies that the maxThreads parameter actually creates a thread pool behind the connector and processes the incoming requests. If no threads are available or the maximum limit for the number of threads is reached, processing of new requests is delayed which eventually leads to the piling up of requests. Also, a request may take too long to be processed if the request is malign or if adequate resources are not available for processing.

Max time:

Indicates the maximum time taken by this connector to process an incoming request.

Mins

An abnormally high value clearly indicates a performance issue or lack of threads that process the requests.

Bytes sent:

Indicates the number of bytes sent by this connector for processing the requests.

Number

Comparing the value of these measures across the connectors will help you identify the connector that is using the maximum bytes for processing the requests.

Bytes received:

Indicates the number of bytes received by this connector for processing the requests.

Number

Error count:

Indicates the number of errors encountered by this connector while processing the requests.

Number

Ideally, the value of this measure should be zero.