EDirectory Background Processes

eDirectory Background Processes#

This section provides a look at the main background processes that do all the heavy lifting associated with eDirectory operations. These processes are

When you use the various eDirectory monitoring and repair tools, these background processes and their effects are what you monitor and repair. For this reason, it's a good idea to know a little bit about what you are looking at.

EDirectory Background Processes Delay Settings#

EDirectory Background Processes scalability improvements were of primary importance during the development of EDirectory (20801.46). The emphasis in the past was to make EDirectory Background Processes processing a lower priority than that of applications and clients. During EDirectory (20801.46)'s development an analysis of code and extensive testing revealed that many background processes were spending a significant percentage of time sleeping. Dramatic gains in performance can be had in forcing these processes to fire more frequently. These changes need to be carefully considered, especially on older servers, as an increased frequency can result in an increase of the utilization of the hardware.

Currently the following three processes have a hard coded delay of 100ms delay time.

Better performance can be had by lowering the delay times so the processes spend less time sleeping. This can be done via a Hard Limit or CPU Based Policy. Lowering these values can improve the following:

  • obituary processing speed
  • purging of objects in change cache
  • faster analysis of objects in change cache resulting in increased synchronization speed.


Hard Limit Policy - default#

This allows the administrator to define a fixed value, in milliseconds, for how long each process will be delayed. However, this approach means the administrator must manually find the right settings.

CPU Based Dynamic Policy#

This allows the system to either step up or down the delay based on current overall CPU usage. The default, when enabled, is an 80% limit of CPU with a 100ms sleep time. The server will check this utilization every 100 milliseconds. Should the load on the server become higher than the configured maximum the system will begin to the increase the sleep time by 5 millisecond increments until utilization falls below the maximum.

A test was performed using the CPU policy with a max CPU of 40% and a max Delay of 0. This resulted in an 80% improvement when processing a bulk import of one million objects.

More Information#

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