NexJ Logo

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.

StatisticDescriptionHow to interpret
CPU usage (%): meanAverage CPU utilization over the sampling intervalUse 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): meanThe average time in milliseconds to complete a garbage collection cycle during the sampling intervalTrack 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 (%): meanAverage JVM memory utilization during the sampling intervalUse 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.

StatisticDescriptionHow to interpret
Concurrent request count: maxThe maximum number of HTTP requests that were processed simultaneously during the sampling intervalTrack 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 nodeAn 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): meanThe average time spent by the application to process a requestAn increase in processing time may indicate that the node is busy or that a potential issue exists in the database tier
Session countThe 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.

StatisticDescriptionHow to interpret
Active connection count: meanThe average number of concurrent connections in use during the sampling intervalTrack as a trend. Use as a baseline to size the database connection pool more accurately.
Active connection count: maxThe maximum number of concurrent connections in use during the sampling intervalTrack as a trend. Use to capture spikes in the database connection pool.
Connection availability (%): meanThe average amount of time a database connection was available to a thread during the sampling intervalA value of 100% indicates healthy conditions
Connection pool busy wait time (ms): meanThe average time that a thread has to wait for a database connection to become availableA value of 0 indicates healthy conditions
Processing time (ms): meanThe average time taken by the data source to respond to each requestTrack 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.

StatisticDescriptionHow to interpret
Receive time (ms): meanThe average time taken to process an incoming messageTrack as a trend. Use to detect slowness in the underlying integration logic.
Send time (ms): meanFor 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.