eG Monitoring
 

Measures reported by BobiWISPerfTest

How well the Web Intelligence Server processes requests depends upon many factors, including:

  • The amount of CPU resources allocated to the server;
  • The amount of memory allocated to the server:
  • The thread pool size

If the server experiences CPU/memory contentions or runs short of free threads, it is bound to affect the speed with which it processes requests, thus resulting in a server slowdown. This is why, administrators are advised to periodically run the BobiWISPerfTest test.

At pre-configured intervals, this test measures the CPU and memory usage of the Web Intelligence server and alerts administrators to threshold violations (if any). In addition, the test also checks for free threads in the thread pool, and if only a few free threads are available, warns administrators of a potential processing bottleneck.

The measures made by this test are as follows:

Measurement Description Measurement Unit Interpretation
cpuUsagePCT Indicates the percentage of CPU resources used since the server started. Percent A value close to 100% is indicative of a CPU contention on the server.
memoryHighThresholdRate Indicates the rate at which the Memory Upper Threshold was violated by the server in the last measurement period. Violations/Sec If Memory Analysis property is enabled on the server, then the following properties can be configured and tracked on the server:

  • Memory Maximum Threshold
  • Memory Upper Threshold
  • Memory Lower Threshold

When the server's process memory is above the Memory Upper Threshold, the only operation that is allowed is saving documents. When the process memory is above the Memory Maximum Threshold, all operations stop and fail.

It is evident then that such threshold violations are not good news! Ideally therefore, the value of the memoryHighThresholdRate and the memoryMaxThresholdRate measures should be 0. A non-zero value is a sign of frequent memory threshold violations, which could either indicate a serious memory crunch on the server or an improper threshold setting. If further investigations reveal a memory contention on the server, make sure that you allocate more memory to the server to avoid the same.

memoryMaxThresholdRate Indicates the rate at which the the Memory Maximum Threshold was violated by the server in the last measurement period. Violations/Sec
virtualMemoryMB Indicates the amount of memory assigned to the server. MB  
activeThreads Indicates the number of threads (from the asynchronous thread pool) that are currently serving user requests to the server. Number If this measure reaches the configured maximum thread pool size for the server, new requests to the server would have to wait until a server thread becomes free. If this happens often, it may significantly slowdown request processing by the server. In such a situation, you may want to consider resizing the thread pool.
auditingEventsInQueue Indicates the number of auditing events that an auditee has recorded, but which have not yet been retrieved by the CMS Auditor. Number If this number increases without bound, it could indicate that auditing has not been configured properly or that the system is heavily loaded and generating auditing events faster than the auditor can retrieve them. When stopping servers, it is advisable to disable the servers first and wait for auditing events to be fully retrieved and this queue to become empty. Otherwise, they may be retrieved only when the server has been restarted and the CMS polls for them.