[dns-operations] More Aggressive prefetch for popular names

Benno Overeinder benno at NLnetLabs.nl
Mon Apr 15 17:00:41 UTC 2019

Hi Björn,

> On 15 Apr 2019, at 17:12, Hellqvist, Björn <bjorn.hellqvist at teliacompany.com> wrote:
> Isn't this how normal prefetch works today? If a query is done with TTL - X seconds, then fetch the record. 
>> From BIND ARM:
> "
> Prefetch
> When a query is received for cached data which is to expire shortly, named can refresh the data from the authoritative server immediately, ensuring that the cache always has an answer available. 
> The prefetch specifies the "trigger" TTL value at which prefetch of the current query will take place: when a cache record with a lower TTL value is encountered during query processing, it will be refreshed.
Indeed, and the same behaviour holds for Unbound resolver.  Unbound defaults on 10% of the original TTL, which works quite well with popular names and keeps the cache entry “fresh” as long as upstream servers (authoritative name servers) are reachable.


— Benno

> -----Original Message-----
> From: dns-operations <dns-operations-bounces at dns-oarc.net> On Behalf Of Paul Hoffman
> Sent: den 11 april 2019 15:54
> To: Giovane Moura <giovane.moura at sidn.nl>
> Cc: dns-operations at lists.dns-oarc.net
> Subject: Re: [dns-operations] More Aggressive prefetch for popular names
> On 10 Apr 2019, at 23:56, Giovane Moura wrote:
>>> However, if
>>> the name was served from the cache during the last 25% of the TTL, 
>>> that's a good indication that it will be requested again after the 
>>> TTL has expired.
>> I think we could really use some large-scale measurement studies on 
>> caches to understand their actual behavior. Things in the wild tend to 
>> behave sometimes quite differently from what we expect.
> Yes, that is becoming obvious to even the most hesitant among us.
>> While I agree with the general idea, it would be nice to see if that's 
>> what happens in the wild.
>> Any resolver ops in here that have some data on this?
> Yes, please. This might be tricky to do and require many cache dumps in quick succession, but it would be really valuable to the community.
>>> Using this non-aggressive pre-fetching "requested from the cache 
>>> during the end of lifetime" rule seems useful to resolver users while 
>>> only increasing the authoritative load in the less common cases.
>> "only increasing the authoritative load in the less common cases."
>> That's where it can get tricky. In theory, yes, but in practice it's 
>> hard to estimate the aggregate effects from such policy -- it may as 
>> well lead to some unintended collateral damage -- and IMO we need more 
>> studies on this.
> Fully agree. This could even be aided by some resolver developers adding a debug feature.
> --Paul Hoffman
> _______________________________________________
> dns-operations mailing list
> dns-operations at lists.dns-oarc.net
> https://lists.dns-oarc.net/mailman/listinfo/dns-operations
> dns-operations mailing list
> https://lists.dns-oarc.net/mailman/listinfo/dns-operations

Benno J. Overeinder
NLnet Labs

More information about the dns-operations mailing list