Statistics

Microsoft DNS keeps track of a number of query statistics. These statistics can be seen via the DNS Manager. These statistics are cumulative since the last time the DNS service was started. They are useful when comparing relative loading between two DNS servers to determine how many requests each is servicing. If one server is busier than the other, then you might want to consider changing the current DNS architecture or reconfiguring some of the resolvers. The following figure displays the statistics for server \\B20TCP:

For capacity planning purposes, on a dedicated DNS server, it is important to log the statistics periodically and watch the growth of the queries vs. the memory, disk, network, and CPU performance of the server. Since the statistics are kept since the DNS service was restarted, you will probably want to note the date and time the DNS service was started (you can get this information from the Eventlog).

Now that you know how many queries per second the DNS server is answering, how many is too many? The answer depends on:

If you feel that your DNS server is not responding as fast as it should, then you should first look at the following performance monitor counters on that server. If any of these thresholds are being hit, then the system has a performance problem and you will need to do more investigation:

Counter

Threshold

Notes

    % processor time
    > 80%
      available bytes
      < 1MB
        % disk time
        > 67%
        only available if you start the counters from the command line with diskperf -y and reboot
        % network utilization
        > 40%
        only available if Network Monitor Agent is installed


      If memory is an issue then you should check the "process" object, "DNS" instance, "Private Bytes" counter. If this counter is very high then the DNS service is what is causing the memory available bytes counter to be low. If this is the case then you should add more memory, or possibly investigate what records are currently active in the DNS cache and find out the TTL associated with each.

      If processor is an issue then you should check the "process" object, "DNS" instance, "%processor time" counter. If this is > 80 % then you might consider running the DNS server on a more powerful server. If this is not high, and processor %processor time is still high, look at all the other processes and determine which process is requiring large amounts of CPU time.

      On a DNS server, physical disk %disk time should not be a problem, unless the system has started paging for lack of memory. If this is the case then you need to treat this as a memory issue.

      If network utilization is a problem, you need to find out if it is the DNS server that is causing all of the traffic or another server on the same segment. To do this, use the full featured Network Monitor utility that ships with Microsoft Systems Management Server (this allows you to capture all traffic to and from any specific hardware address) or the reduced feature set utility that ships with Windows NT 4.0 (this only allows you to track traffic to and from the local server).