If I have multiple NS records for a zone, and one of those authoritative name servers goes down for an extended period of time, does that occasionally slow down all queries because the recursive DNS resolvers need to keep looking for it?
This answer talks about how BIND chooses the fastest server, and that it periodically tries servers that it thought were slower (to see if they are now faster), but doesn't really mention what happens if one of those servers is totally down.
How long do recursive name servers (usually or always) wait/time out before they move on to query using another NS record in the zone? Does this time out duration effect the answer?
My situation is that I have two "business class" internet connections with a single static IP. One is a cable/coaxial, and one is a fiber. Both of these consumer grade services typically have reliability problems. It's difficult for me to multi-home the internet connection because they don't offer BGP peering at this service level. If I have my combined nameserver/webserver connected to both internet connections (two ethernet adapters and appropriate default outgoing gateway selection/filtering based on the source/incoming request), and define a NS record for both IPs, then I should have redundancy on DNS. If I have a zone with low TTLs on this local DNS server, then there are a number of ways that I can easily update all of the other records (mainly an A record for the webserver) in a zone to use an available/functional/faster internet connection. I'm trying to decide if this approach will cause periodic delays while one name server IP address is queried occasionally, that isn't actually accessible.
Do DNS resolvers ever try multiple NS records in parallel?