Change Cache


EDirectory Change Cache is located on each server tracks all changed entries in the local replicas and contains EntryID and Creation Timestamp and are to be part of the EDirectory Synchronization process.

Enable or Disable #

You can enable or disable the Inline Change Cache for a server.

You can disable Inline Change Cache only when Outbound Synchronization is disabled. Enabling Outbound Synchronization also enables InlineChange Cache.

What Goes into Change Cache#

Asynchronous Outbound Synchronization#

Prior to EDirectory (20801.46) there was one thread responsible for iterating through all entries in the Change Cache to see if there was a new value that needed to be sent to other servers. This same thread was also responsible for putting the values in a packet, sending the packet over the wire and waiting on an acknowledgement from the receiving server before proceeding. Performing these tasks sequentially were costly in terms of time required to process the changes out to other servers. In EDirectory (20801.46)+ the work has been split between two threads.

One thread examines the Change Cache, prepares the outgoing packets then fills a queue with the packets. The second thread picks up the packets from the queue and sends them the remote server one at a time. This has reduced the time to get changes out to other servers by up to 50% in some cases.

The default setting for Asynchronous Outbound Synchronization is disabled. In EDirectory (20801.46) imonitor provides an interface to enable this feature. If this feature is enabled the server will be much more aggressive in sending changes out to the remote servers. This can put pressure on the receiving servers resulting in higher utilization. Therefore, another setting has been included with this feature, the Async Dispatcher Thread Delay. This setting allows the administrator to control, in milliseconds, the frequency in which changes are sent to the remote servers. The Async Dispatcher Thread Delay setting, by default, has no delay (0 milliseconds). The allowed range for this setting is 0 - 999 milliseconds. If this value is very small, meaning the thread fires more often, higher CPU and I/O utilization may be seen on the receiving servers due to the higher amount of inbound traffic. Therefore, this setting should be monitored and fine tuned for the specific environment.

In EDirectory (40002.79) Asynchronous Outbound Synchronization is turned on by default and is using the Background Process Delay with a Maximum CPU Utilization of 80%.



More Information#

There might be more information for this subject on one of the following: