Planning DNS Servers

Applies To: Windows Server 2008

When you plan your Domain Name System (DNS) servers, it is important to do the following:

  • Perform capacity planning, and review server hardware requirements.

  • Determine how many DNS servers you need and their role in your network.

    When you consider the number of DNS servers to use, decide which servers will host primary and secondary copies of zones. Also, if you are using Active Directory Domain Services (AD DS), determine whether the server computer will perform as a domain controller or as a member server in the domain.

  • Decide where you are going to place DNS servers on your network for traffic loads, replication, and fault tolerance.

  • Decide if you are using only DNS servers running Windows Server 2008 for all your DNS servers or if you are operating a mixture of DNS server implementations.

Server capacity planning

Planning and deploying DNS servers on your network involves examining several aspects of your network and the capacity requirements for any DNS servers that you intend to use in it. Some questions to consider when you are planning DNS server capacity include the following:

  • How many zones is the DNS server expected to load and host?

  • For each zone that the server is loading for service, how large is the zone (based on the size of the zone file or the number of resource records used in the zone)?

  • For a multihomed DNS server, how many interfaces are to be enabled for listening to and servicing DNS clients on each of the server's connected subnets?

  • How many total or overall DNS query requests from all of its clients is a DNS server expected to receive and service?

In many cases, adding more RAM to a DNS server can provide the most noticeable improvements in performance. This is because the DNS Server service fully loads all of its configured zones into memory at startup. If your server is operating and loading a large number of zones and dynamic updates occur frequently for zone clients, additional memory can be helpful.

Keep in mind that, for typical usage, the DNS server consumes system memory as follows:

  • Approximately 4 megabytes (MB) of RAM is used when the DNS server is started without any zones.

  • For each addition of zones or resource records to the server, the DNS server consumes additional server memory.

  • It is estimated that for the addition of every resource record to a server zone, an average of approximately 100 bytes of server memory is used.

    For example, if a zone containing 1000 resource records is added to a server, it requires approximately 100 kilobytes (KB) of server memory.

When you determine your DNS server plans, you can start by reviewing sample DNS server performance test results that are collected by your DNS development and testing teams. In addition, you can use DNS server-related counters that are provided with monitoring tools to obtain your own performance measurements.

Important

The previous recommendations are not intended to indicate maximum performance or limitations for DNS servers. These numbers are approximate, and they can be influenced by the type of resource records entered in zones, the number of resource records with the same owner name, and the number of zones in use at a specific DNS server.

Where to place DNS servers

Most often, you will install DNS servers on all domain controllers. If, however, you have reason not to deploy DNS servers on every domain controller, you can follow these guidelines to choose where to place your DNS servers.

In general, place your DNS servers at a location on your network that is centrally accessible to your clients. It is often most practical to use a DNS server on each subnet. There are several questions to consider when you are deciding where a DNS server is needed:

  • If you are deploying DNS to support AD DS, is the DNS server computer also a domain controller or is it likely to become a domain controller in the future?

  • If the DNS server stops responding, are its local clients able to gain access to an alternate DNS server?

  • If the DNS server is located on a subnet that is remote to some of its clients, what other DNS servers or name resolution options are available if the routed connection stops responding?

For example, if you have a routed local area network and high-speed links that are fairly reliable, you may be able to use one DNS server for a larger, multiple subnetted network area. If you have a high number of client nodes on a single subnet design, you may want to add more than one DNS server to the subnet to provide backup and failover if the preferred DNS server stops responding.

When you are determining the number of DNS servers that you need, assess the effect of zone transfers and DNS query traffic on slower links in your network. Although DNS is designed to help reduce broadcast traffic between local subnets, it does create some traffic between servers and clients that should be reviewed, particularly when the DNS servers are in local area network (LAN) or wide area network (WAN) environments with complex routing.

Consider the effects of zone transfer over slower speed links, such as those that are typically used for a WAN connection. Although the DNS Server service supports incremental zone transfers and DNS clients and servers can cache recently used names, traffic considerations are sometimes still an issue, particularly when Dynamic Host Configuration Protocol (DHCP) leases are shortened and, as a result, dynamic updates in DNS are performed more frequently. One option for dealing with remote locations on WAN links is to set up a DNS server at these locations to provide caching-only DNS service.

With most installations, you should have at least two server computers hosting each of your DNS zones, for fault tolerance. When you are making any final determinations about the number of servers to use, first assess the level of fault tolerance that is appropriate for your network.

When only a single DNS server is used on a small LAN in a single-subnet environment, you can configure the single server to simulate both the primary and secondary servers for a zone.