One or two nameservers?

By on 15 Sep 2026

Category: Tech matters

Tags: ,

Blog home

This is a quick update on the recent article on the surprisingly large number of repeat queries in the Domain Name System (DNS). This article, “What part of ‘No!’ is so hard for the DNS to understand?” described a scenario where we tasked many millions of users to resolve a unique DNS name (unique because we wanted to avoid conventional DNS caching).

We ran this measurement from 5 to 11 August 2026, and recorded the following results:

Response typeTestsSingle query testsQueriesAverage queries per testRepeatsAverage repeats
Control254,894,985147,233,117875,316,4233.43408,891,7973.80
NXDOMAIN115,750,50367,316,541509,410,7874.40291,919,9276.03
NODATA115,571,39864,033,517454,213,9323.93235,724,3714.57
SERVFAIL138,643,9243,702,5767,171,673,16651.736,920,490,78051.29
REFUSED115,415,25947,625,1651,324,355,21111.471,106,379,77916.32
NO RESP116,050,2532,519,1919,685,775,21283.469,466,474,49183.38
Table 1 — Measurement of negative responses.

Where there is a definitive negative response, namely NXDOMAIN and NOERROR/NODATA or a positive response, there is a common query repetition profile. On average, we see four queries per test. Some 55% to 60% of tests complete with a single query, and where repetition occurs, the average number of query repeats is between four and six.

Where there is no definitive response, the DNS slips into a behaviour mode that repeats queries. The REFUSED response is accepted with a single response 40% of the time, but in other cases of the REFUSED response, there is an average of a further 11 repeat queries. SERVFAIL and NO RESPONSE responses show a more extreme pattern of repeat queries.

It was noted in the report that these measurements were conducted using a single nameserver that is authoritative for the zone. Our measurement setup divides the Internet into six ‘zones’, and each zone uses its own namespace. These zones are North America, South America, Europe and Africa, India, Asia, and China.

Within each zone, we are using a single authoritative nameserver, so each recursive resolver is presented with a single nameserver name. This single authoritative nameserver is configured as a dual-stack server with both an IPv4 and an IPv6 address.

An obvious question is whether we would see more or fewer queries if the zone was served by more than one dual-stack nameserver. We’ve repeated just the control measurement with two authoritative dual-stack nameservers. The results are shown in Table 2.

Number of nameserversTestsSingle query testsQueriesAverage queries per TestRepeatsAverage repeats
1254,894,985147,233,117875,316,4233.43408,891,7973.80
2150,221,951106,376,529385,725,3642.57112,191,5972.56
Table 2 — Number of queries by number of authoritative dual-stack nameservers.

With one nameserver, 58% of the test cases completed the experiment using a single DNS query for each query type. With two nameservers, the single query rate has risen to 71%. The average number of queries per test has fallen from 3.43 to 2.57 queries, and where a query is repeated, the average number of repeat queries has fallen from 3.8 queries to 2.6 queries.

This is a completely unexpected result. The addition of this second nameserver name (and two nameserver IP addresses, in IPv4 and IPv6) appears to significantly reduce the number of repeat queries. (A ‘repeat’ is defined as a query with the same query name and query type).

We would expect an increase in the repeat query count when the number of authoritative servers increases, as an obsessive recursive resolver would query all authoritative nameservers with the same query to satisfy itself that all the nameservers are responding in a manner that is mutually consistent. In any case, this is not what was observed in this experiment.

A cumulative distribution of repeat queries over time is shown in Figure 1.

Figure 1 — Cumulative distribution of repeat queries.
Figure 1 — Cumulative distribution of repeat queries.

The major difference in behaviour of query duplication occurs in the first second of DNS name resolution, where slightly more than 85% of duplicate queries are received in the case of a single nameserver, while the number drops to 75% in the case of two nameservers. In the case of two nameservers there is also some form of exponential backoff behaviour, where there is a slight peak in repeat queries at 0.75 seconds, 1.5 seconds and 3 seconds. Within five seconds we have observed 90% of all repeated queries for each experiment.

A detailed view of the time distribution of repeat queries is shown in Figure 2.

Figure 2 — Distribution of repeat queries.
Figure 2 — Distribution of repeat queries.

In the case of a single nameserver, 17% of all repeated queries are observed within 10ms of the initial query, in a form of ‘rapid-fire’ query duplication. This rapid-fire duplication drops to 12% of all repeated queries in the case of two nameservers. A single nameserver sees local peaks of duplicate queries at 100ms, 310ms and 800ms, whereas in the two nameservers case there are peaks at 50ms, 100ms, 310ms 370ms, 750ms and 800ms.

Is this caused by resolver ‘farms’, where a query is passed across multiple back-end resolver engines over time, or by a change in the behaviour of individual resolvers? Figure 3 shows the query repetition behaviour of individual resolver addresses.

Figure 3 — Distribution of repeat queries per resolver address.
Figure 3 — Distribution of repeat queries per resolver address.

I’ve normalized the numbers from the two datasets to allow direct comparison. The difference lies in the period of between 10ms to 70ms after the initial query, where the single server case shows a significantly higher repeat volume, particularly in the period between 10ms to 40ms. This is a time interval that is normally well below most individual resolver’s individual User Datagram Protocol (UDP) timeout values. Why would an individual resolver perform query repetition in such a short time interval?

One explanation may lie in the configuration of resolver ‘farms’.

When the volume of DNS query traffic is greater than individual platforms can handle, which is often the case for large consumer Internet Service Providers (ISPs), a common approach is to use a ‘resolver farm’ where a single front end query dispatcher is placed in front of a set of individual recursive resolvers.

An example of this setup can be seen with PowerDNS’s DNSdist. It appears that a very common configuration is to incorporate a DNS relay-like function, where the front-end dispatcher paces the public Internet with a public IP address, but uses private IP addresses to communicate with individual recursive resolvers. That way, the resolver farm sits behind a single public IP address. In this case the query repetition behaviour we are seeing here could be attributed to the behaviour of these front-end systems, rather than the errant behaviour of recursive resolver implementations.

It’s unexpected to observe the query repetition volume drop when an additional authoritative nameserver is added to a domain, but as the DNS handles individual queries relatively opaquely, we cannot offer a definitive explanation of the behaviour. It could be based in a desire of a DNS front end to improve DNS resolution speed and service resilience by duplicating incoming queries across multiple resolver instances in a resolver farm when there is just a single authoritative nameserver.

However, this observed behaviour points to some practical value in the DNS operational advice of using a minimum of two nameservers to serve a zone in today’s DNS. It seems to keep recursive resolvers happy!


The views expressed by the authors of this blog are their own and do not necessarily reflect the views of APNIC. Please note a Code of Conduct applies to this blog.

Leave a Reply

Your email address will not be published. Required fields are marked *

Top