Synchronization Parameters

The following items describe the values that can be added to the \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters Registry key to control synchronization.

Pulse

The Pulse defines the pulse frequency, in seconds. All changes made to the user account database since the last pulse are collected together. Then, after the Pulse time has expired, a pulse is sent to each BDC needing the changes; however, no pulse is sent to a BDC that is up-to-date. Default value: 300 (5 minutes); Value range: 60 (1 minute)–3600 (1 hour).

PulseConcurrency

The PulseConcurrency defines the maximum number of BDCs that the PDC will notify at one time. The Net Logon service sends pulses to individual BDCs, which causes the BDCs to respond by requesting any database changes. To control the maximum load these responses place on the PDC, the PDC has only the number of pulses specified under PulseConcurrency "pending" at one time. Increasing PulseConcurrency will increase the load on the PDC. Decreasing PulseConcurrency will increase the time it takes for a domain with a large number of BDCs to get a change to all of the BDCs. Default value: 20; value range: 1–500.

PulseMaximum

This defines the maximum pulse frequency, in seconds. Every BDC will be sent at least one pulse at this frequency, regardless of whether its user account database is up-to-date. Default value: 7200 (2 hours); value range: 60 (1 minute)–86400 (1 day).

PulseTimeout1

PulseTimeout1 defines how long, in seconds, the PDC will wait for a non-responsive BDC. When a BDC is sent a pulse, it must respond within this time period. If the BDC does not respond, it is considered to be non-responsive. A non-responsive BDC is not counted against the PulseConcurrency limit, thereby allowing the PDC to send a pulse to another BDC in the domain.

If this number is too large, a domain with a large number of non-responsive BDCs will take a long time to complete a partial synchronization. If this number is too small, a slow BDC might be falsely accused of being non-responsive. When the BDC finally does respond, it will receive a partial synchronization from the PDC, which can increase the load on the PDC. Default value: 5 (5 seconds); value range: 1 (1 second)–120 (2 minutes).

PulseTimeout2

PulseTimeout2 defines how long, in seconds, a PDC will wait for a BDC to complete partial synchronization. Even though a BDC initially responds to a pulse (as described for PulseTimeout1), it must continue making synchronization progress or the BDC will be considered non-responsive. Each time the BDC calls the PDC, the BDC is given another PulseTimeout2 seconds to be considered responsive.

If this number is too large, a slow BDC (or one that has its ReplicationGovernor rate artificially governed) will consume one of the PulseConcurrency slots. If this number is too small, the load on the PDC will be unduly increased because of the large number of BDCs doing a partial sync. Default value: 300 (5 minutes); value range: 60 (1 minute)–3600 (1 hour).

Randomize

Randomize specifies the BDC backoff period, in seconds. When the BDC receives a pulse, it will back off between zero and the Randomize seconds before calling the PDC. Randomize should always be smaller than the PulseTimeout1. Default value: 1 (1 second); value range: 0–120 (2 minutes).

Consider that the time to synchronize a change to all the BDCs in a domain will be greater than:

((Randomize/2)*NumberOfBdcsInDomain)/ PulseConcurrency

Important The PulseTimeout2 parameter affects only cases in which a BDC cannot retrieve all changes to the user account database in a single RPC call. This happens only if a large number of changes are made to the database before a synchronization.