Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I have set up a local DNS server on a Windows Server 2008 machine. When visiting websites I see the results are filling up the server's DNS cache. But when using the benchmark tool namebench I see that my server's mean responds time is almost 4 times slower in comparison with my default ISP DNS server.

Mean Response Duration Mean Response Duration

Fastest Individual Response Duration Fastest Individual Response Duration

Response Distribution Chart (First 200ms) enter image description here

Is there a way I could speed up or optimize the DNS server?

share|improve this question
1  
What forwarder are you using on your DNS server? Is it using your ISP's or another server that's slow and/or "far away"? –  Keith Stokes May 1 '11 at 12:15
    
This benchmark was done using no forward servers and only using the basic servers 'root-servers.net'. I now set my ISP's DNS as forward server and it's going much faster. –  Jens May 3 '11 at 18:17

3 Answers 3

up vote 3 down vote accepted

Two things:

  1. Unless you're using your ISP's DNS server as a forwarder, you're doing all the work theirs is doing plus you have a 10-30msec penalty reaching the Internet that your ISP does not.
  2. Microsoft's DNS server is one of the slowest modern DNS server packages. You're better off setting up some other DNS server and having it forward your Active Directory domain at your Microsoft DNS server than the other way around.
share|improve this answer

To put things in perspective: Do you need < 50ms performance?

We're talking about less than 0.1s difference here... (120ms - 30ms = 90ms = 0.09s)

It's a case of diminishing returns here: The efforts to optimize Windows' DNS Server in order to realize a 0.1s difference just doesn't seem worth it.

In addition, if your clients are Windows-based, you might never see the improvement; Windows' DNS Resolver caches successful DNS lookups for hours (unless you reduce the cache duration in the registry).

share|improve this answer

You might consider the sizing of your server - CPU, memory, swap configuration, etc. Assuming that the CPU is not overtaxed/under-rated, you might consider adding memory or adjusting the swap configuration (possibly reducing its size, if possible).

Assessing the concurrently running applications/system features may also be another consideration, where unneeded/non-essential applications/features are disabled.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.