IBM Tivoli Composite Application Manager for Application Diagnostics, Version 7.1.0.1

Data collector internal buffering and turbo mode settings


The following parameters affect buffering in communication between the data collector and ITCAM for Application Diagnostics Managing Server. In most cases, the default settings are appropriate. Do not change these parameters unless directed by IBM Software Support. These settings do not affect communication with the monitoring agent.


Internal Buffering settings

The following parameters in the data collector properties file control internal buffering in the data collector.

internal.memory.limit

The default value is 100 (MB). This property limits the amount of memory the data collector may use for all its buffering needs. Reducing this setting can lower the memory overhead introduced by the data collector; however, it can also increase the probability of buffer overflow at MOD L2 or L3 during periods of very high transaction volume. You can also reduce buffer load by limiting the monitoring scope for MOD L2 and L3, using the settings in the rest of this chapter, especially Control instrumentation of application classes for lock analysis, memory leak analysis, and method profiling and tracing.

internal.memory.accept.threshold

The default value is 2 (MB). Once the amount of memory specified in internal.memory.limit is reached, a buffer overflow state happens, and data will not be buffered. Minimum amount of free memory to be reached before buffering is resumed.

internal.url.limit

The default value is 1000. This property controls the maximum URL length accepted by the data collector. If your URL length typically exceeds this value, it should be increase to avoid display truncation.

internal.sql.limit

The default value is 5000. This property controls the maximum SQL length accepted by the data collector. If your SQL statement length is typically greater than this value, the value should be increased to avoid display trunaction.

internal.probe.event.queue.size.limit

The default value is 900000. This property controls the maximum size of the queue of events maintained by the data collector.

internal.probe.event.packet.size

The default value is 5000 Kbytes. Changing the default is not recommended. Valid values are 1 to 4000000 (or up to available process memory on the server). This property specifies the size of the data collector internal send buffer. The send buffer controls how much data the data collector can be sent to the Publish Server at a given time. In normal situations, this property does not have to be changed, as the default send buffer size is more than adequate.


Turbo Mode

If the data collector cannot send data to the Managing server fast enough, Data collector buffer space may be exhausted. The data collector may react in two ways, depending on whether turbo mode is enabled or disabled.

Turbo mode is controlled by the dc.turbomode.enabled setting in the data collector properties file. Set it to true to enable turbo mode, or to false to disable it. By default, turbo mode is disabled.

If turbo mode is enabled, the data collector will enter turbo mode when three quarters of the maximum memory size (set in internal.memory.limit) is used. In turbo mode, the data collector raises the priority of the threads that send data to the Managing Server and the monitoring agent. Application threads remain at a lower priority, and may freeze until the buffer shortage is relieved. This ensures maximum reporting accuracy but can have a significant impact on application performance.

In turbo mode, the data collector also continues to monitor any existing requests, but any new incoming requests will not be monitored until the buffer shortage is relieved. The application will process them, and the data collector will notify the Managing Server of a "dropped" request.

If turbo mode is disabled, the data collector will drop any monitoring data in the event of a buffer shortage. Therefore, information in the Tivoli Enterprise Portal and Visualization Engine may be incomplete, but application performance will not be impacted.

Disable turbo mode on "mission critical" production systems, where any application thread freeze is not acceptable in any situation. However, a danger of buffer shortage (and, therefore, engagement of turbo mode) usually happens only in MOD L2 or L3; on production systems, users need to enable these levels only when investigating an issue. Turbo mode may be of use in such an investigation. So, if a significant performance impact in the event of an investigation is acceptable, you can enable turbo mode.


Parent topic:

Tune data collector performance and monitoring scope