<div dir="ltr">TL;DR:<div>I think the main issue is, to make sure that any caching "stubs" (e.g. resolvers in forward-only mode) do NOT do pre-fetch, but rather only query for expired entries when a natural query from the forwarder's client(s) (e.g. from an application on the host) occurs.</div><div><br></div><div>That should, in principle, prevent thundering herd from client to recursive.</div><div><br></div><div>Doing the opposite (prefetch by forwarder) would definitely cause thundering herd behavior, and likely cause significantly degraded performance from the client applications' perspective.</div><div>(UDP, network queues, hardware queues, retries, and all that fun stuff being triggered with greater and greater synchronization over time.)</div><div><br></div><div>Brian</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jul 15, 2020 at 4:50 AM Tony Finch <<a href="mailto:dot@dotat.at">dot@dotat.at</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I've been wondering about the effects of stub resolvers with caches as<br>
clients of recursive servers. To what extent do they cause a thundering<br>
herd effect where all the cache entries expire with the same deadline?<br>
The herd will arrive when the RRset expires so most of those clients will<br>
hit maximum latency and stress the server's query deduplication mechanism.<br>
<br>
(I don't think I have enough traffic to get a useful answer from my<br>
servers right now.)<br>
<br>
If thundering herds happen, do they thunder enough to help explain the<br>
lack of benefit from prefetching observed by PowerDNS?<br>
<br>
Or maybe is the herd is too small to thunder? Instead there's a more<br>
gentle swell of queries after the TTL expires?<br>
<br>
<a href="https://lists.dns-oarc.net/pipermail/dns-operations/2019-April/018605.html" rel="noreferrer" target="_blank">https://lists.dns-oarc.net/pipermail/dns-operations/2019-April/018605.html</a><br>
<br>
If there is much of a herd, would it make sense to give some proportion of<br>
the clients a slightly reduced TTL so that they will trigger prefetch<br>
before the rest of them requery?<br>
<br>
Tony.<br>
-- <br>
f.anthony.n.finch  <<a href="mailto:dot@dotat.at" target="_blank">dot@dotat.at</a>>  <a href="http://dotat.at/" rel="noreferrer" target="_blank">http://dotat.at/</a><br>
Bailey: Southwest 4 or 5, increasing 6 or 7 later. Moderate or rough,<br>
occasionally very rough later in far northwest. Drizzle, fog patches. Moderate<br>
or poor, occasionally very poor.<br>
_______________________________________________<br>
dns-operations mailing list<br>
<a href="mailto:dns-operations@lists.dns-oarc.net" target="_blank">dns-operations@lists.dns-oarc.net</a><br>
<a href="https://lists.dns-oarc.net/mailman/listinfo/dns-operations" rel="noreferrer" target="_blank">https://lists.dns-oarc.net/mailman/listinfo/dns-operations</a><br>
</blockquote></div>