I would suggest doing what forwarders do, joining multiple queries into single upstream request. When the answer arrives, send replies to all requestors of this common transaction. If you cannot fix your server to handle the response right away and have pre-computed answers, as is common for authoritative servers.

It is expected authoritative server does not have to do anything serious per client. What is that resource intensive operation we are talking about? Do you sign on the fly? Can you explain a bigger picture? Maybe there is a design of the service, which could be improved instead. Attempt to suppress a retry when the server does not answer quickly enough is not correct way of solving it IMO.

Regards,
Petr

On 6/26/23 03:05, Fred Morris wrote:

I have an authoritative server which performs a resource intensive operation to determine an answer; sometimes it takes long enough that BIND asks again (and again!). Firing off multiple attempts to determine the answer just digs the hole deeper.

What's the best approach, assuming the same client asks repeatedly:

  * Discard later queries, answer the first one?
  * Discard earlier queries, answer the last one?
  * Send same the response (when we get it) in response to all queries
    (I don't like this one)?

And does anyone know can the recommended mitigation be presumed to be the best option regardless of the recursive server (BIND, Unbound, etc.)?

Thanks in advance...

--

Fred Morris



--
Petr Menšík
Software Engineer, RHEL
Red Hat,https://www.redhat.com/
PGP: DFCF908DB7C87E8E529925BC4931CA5B6C9FC5CB
-- 
Visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe from 
this list

ISC funds the development of this software with paid support subscriptions. 
Contact us at https://www.isc.org/contact/ for more information.


bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

Reply via email to