I was unable to find a Registry entry to set the base timeout period for a DNS client resolver. Microsoft changed the operation of the resolver considerably in NT4 SP4 and that behavior carried over into Windows 2000. The base timeout is 1 second, after which the resolver sends out queries to every DNS server that is bound to the interface. It then uses RFC standard 3 repeats, doubling the timeout at each repeat. This gives a 1+2+4+8...
or 15 second delay before sending a timeout back to the requesting application (with some fudging to prevent a race condition.)
I?m not sure if the base timeout value is hard coded into the resolver or if there is an associated Registry entry that is just completely undocumented. Normally, when I don?t know the answer to a DNS question, I go to Ask Mr. DNS.Unfortunately, I came up dry there, as well.
If you?re having a problem on a particular machine, make sure you have only one interface in the machine (multihoming increases the time it takes to time out). Also, if you are using homebrew code, you might want to look into Win32 API calls that adjust the based timeout. Even if you set it for a minimal value, I?m betting the resolver will still force you to wait for 4 tries with double the timeout at each try.
If I find out any new information on this topic, I?ll post it at this web site.
Dig Deeper on Microsoft Active Directory Design and Administration
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.