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
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
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 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 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. |