Up to MAXNS (currently 3) name servers may be listed, one per
line. If there are multiple servers, the resolver library
queries them in the order listed. If no nameserver entries
are present, the default is to use the name server on the
local machine. (The algorithm used is to try a name server,
and if the query times out, try the next, until out of name
servers, then repeat trying all name servers until a maximum
number of retries are performed.)
Once all the nameservers are tried, and the query fails the default is
to return the host not found message.
Can you repeat the same line below in the conf file so that multiple
nameserver directives are added. Each line of
supports upto 3 DNS addresses (per line).
Please note that only one host is ever tried, and that is on the top
of the list in resolv.conf; if the address is not found on the first
server or the server is not reachable, and only then the second is
tried and then continues for the third server if the query on the
second server fails. There is no round-robin or random selection of
nameservers from resolv.conf during the host resolution, so the cost
of trying all the nameservers will be directly taxing on the
performance of underlying systems/applications.
However, I think you better implement a local caching nameserver , the increase in DNS performance for applications using/depending on the host resolution would increase if the number of dns calls are reduced/depends on the latency as well.
Another approach would be to use openDNS servers, they have perhaps the most updated and also fast serving DNS servers on the internet.