How to set a frequent period for NTP client to sync with the NTP server

Solution 1:

You have the list of registry values here.

Referring to this, try setting the following values :

SpecialPollInterval :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient

Explanation :

Version : Windows XP, Windows Vista, Windows Server 2003, and Windows Server 2008
This entry specifies the special poll interval in seconds for manual peers. When the SpecialInterval 0x1 flag is enabled (see next key : NtpServer) , W32Time uses this poll interval instead of a poll interval determine by the operating system. The default value on domain members is 3,600 (1 hour). The default value on stand-alone clients and servers is 604,800 (7 days).


NtpServer
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

Explanation :

Version : Windows Server 2003 and Windows Server 2008
This entry specifies a space-delimited list of peers from which a computer obtains time stamps, consisting of one or more DNS names or IP addresses per line. Each DNS name or IP address listed must be unique. Computers connected to a domain must synchronize with a more reliable time source, such as the official U.S. time clock.
0x01 SpecialInterval
There is no default value for this registry entry on domain members. The default value on stand-alone clients and servers is time.windows.com,0x1.


UpdateInterval :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

Explanation :

Version : Windows XP, Windows Vista, Windows Server 2003, and Windows Server 2008
This entry specifies the number of clock ticks between phase correction adjustments. The default value for domain controllers is 100. The default value for domain members is 30,000. The default value for stand-alone clients and servers is 360,000.


MinPollInterval :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

Explanation :

Version : Windows XP, Windows Vista, Windows Server 2003, and Windows Server 2008
This entry specifies the smallest interval, in log2 seconds, allowed for the system polling interval. Note that while a system does not request samples more frequently than this, a provider can produce samples at times other than the scheduled interval. The default value for domain controllers is 6. The default value for domain members is 10. The default value for stand-alone clients and servers is 10.

Solution 2:

I don't know a lot about Windows time, but last time I checked, Windows doesn't use the "full" NTP algorithm. I believe it uses the less complicated Simple Network Time Protocol (SNTP).

A properly running (full) NTP client will decide on its own how often to poll the servers you've configured. Initially it will probably check every 64 seconds, but once the clock has been stabilized, the polling may be every 1024s (there's a doubling in the algorithm at every step).

If the algorithm detects something wonky with the clock it will automatically start polling more often as needed.

The W32Time can only reach 1-2 second accuracy (good enough for most pedestrian uses), whereas the full NTP algorithm can get into the millisecond area on a WAN, and even more accurate on LANs.

If you absolutely, positively need accurate time, use the full NTP.org implementation and use at least four servers.

Solution 3:

My golden rule with time in a Windows/AD environment is to not mess with the way things are supposed to work. Because so much is dependent on the time service you can very easily get your fingers burned.

Having said that, if you really want to change things, you should have a look at this KB article for further guidance.