Pi-hole is already providing answers as fast as it can.
It has detected that all of its upstream DNS servers are inaccessible/inoperative. In consequence, Pi-hole immediately answer REFUSED to any DNS requests.
However, Pi-hole cannot control your client's behaviour. Having received a REFUSED reply won't influence their eagerness to know the IP for a given domain.
You may try to lower their rate of repeat for their requests by adjusting your local-ttl
.
Run from your Pi-hole host machine, check the output of:
grep -nR local-ttl /etc/dnsmasq.d*
If that comes back empty, that would imply a local TTL of zero.
You could then create a custom file like /etc/dnsmasq.d/42-local-ttl.conf
and add
local-ttl=30
Afterwards, run pihole restartdns
.
This will inform clients that a DNS reply is valid for 30 seconds, and may coerce some clients to repeat their requests only once every 30 seconds.
Note that it cannot force clients to not repeat their requests earlier, but if this has an effect for you, you may consider adjusting the value.
And if you do so, remember to remove or at least lower it once your upstreams are available again.