Interpreting key JMX statistics

You can use JMX statistics on the Statistics page in NexJ System Admin Console to evaluate JVM resource utilization, user sessions and load balancing, and database and logical data sources. You can access these key statistics on your NexJ application for individual nodes or a cluster.

Values for statistics are calculated over a sampling period, which is 60 seconds by default. You can modify the sampling period on the Administration node for your NexJ application by changing the Statistics sampling interval attribute value.

JVM resource utilization

The following table identifies statistics that you can use to assess JVM resource usage, such as CPU and memory usage, garbage collection, and live thread count statistics. You can access these statistics on the Java Virtual Machine node.

Statistic Description How to interpret
CPU usage (%): mean Average CPU utilization over the sampling interval Use to determine how busy a particular node is. A constant high value or unusually high number of peaks can indicate an issue with the health of the node. Use in conjunction with Memory Usage, Garbage Collection Time, and User Session statistics.
Garbage collection time (ms): mean The average time in milliseconds to complete a garbage collection cycle during the sampling interval Track the collection time as a trend. Lengthy garbage collection cycles may negatively impact the overall system performance and indicate that JVM memory configuration requires further tuning.
Memory Usage (%): mean Average JVM memory utilization during the sampling interval Use to size your heap.

User sessions and load balancing

The following table identifies statistics that you can use to assess load balancing on nodes and distribution of user sessions in the cluster. You can access these statistics on the SessionManager node.

Statistic Description How to interpret
Concurrent request count: max The maximum number of HTTP requests that were processed simultaneously during the sampling interval Track as a trend. An increase in the request count indicates that the node is under an increased load from the web tier.
Load balancing redirection rate (Hz) The rate at which incoming requests are redirected from this node to another node An increase in the redirection rate may indicate that the node is under stress and is actively swapping sessions to other nodes in the cluster.
Processing time (ms): mean The average time spent by the application to process a request An increase in processing time may indicate that the node is busy or that a potential issue exists in the database tier
Session count The total number of active user sessions in memory on this node during the sampling interval. By default, the sampling interval is 60 seconds. Use to view the distribution of active user sessions across the cluster. If there is a significant imbalance, consider correlating this statistic with JVM CPU and Memory utilization metrics, as session load balancing is affected by the node resource utilization.

Database and logical data sources

The following table identifies database and logical data sources statistics that you can use to assess the health of database and data source connections. You can access these statistics by navigating to a specific data source under the DataSource node.

Statistic Description How to interpret
Active connection count: mean The average number of concurrent connections in use during the sampling interval Track as a trend. Use as a baseline to size the database connection pool more accurately.
Active connection count: max The maximum number of concurrent connections in use during the sampling interval Track as a trend. Use to capture spikes in the database connection pool.
Connection availability (%): mean The average amount of time a database connection was available to a thread during the sampling interval A value of 100% indicates healthy conditions
Connection pool busy wait time (ms): mean The average time that a thread has to wait for a database connection to become available A value of 0 indicates healthy conditions
Processing time (ms): mean The average time taken by the data source to respond to each request Track as a trend. A sudden increase in processing time could indicate problems in the database tier.

Integration layer and channels

The following table identifies statistics that you can use to monitor send and receive times for channel connections. You can access these statistics by navigating to a specific channel under the Channel node and selecting the Receiver or Sender node.

Statistic Description How to interpret
Receive time (ms): mean The average time taken to process an incoming message Track as a trend. Use to detect slowness in the underlying integration logic.
Send time (ms): mean For synchronous messages, the average time taken to send an outgoing message and receive a response from a remote system. For asynchronous messages, the average time taken to send an outgoing message to a remote system. Track as a trend. Use to detect slowness in the integrated system’s responses.