prefetch details

zebra.squad42 at aceecat.org zebra.squad42 at aceecat.org
Fri Aug 9 01:00:05 UTC 2024


Hello. I'd like to understand correctly and precisely the meaning of
the _prefetch_ server config option. The only documentation I've been
able to find is the unbound.conf manpage, which has this to say:

  prefetch: <yes or no>

  If yes, message cache elements are prefetched before they expire to
  keep the cache up to date.  Default is no.  Turning it on gives
  about 10 percent more traffic and load on the machine, but popular
  items do not expire from the cache.

This is clear but not precise enough. Under what circumstances are
cache entries refreshed? Do they have to be close to expiration? How
close?  Or is there some other condition that triggers a refresh?

And then there is the _minimal-responses_ option. I have a good idea
what it does, by itself, but the documentation helpfully drags in
prefetching again:

  minimal-responses: <yes or no>

  If yes, Unbound does not insert authority/additional sections into
  response messages when those sections are not required.  This
  reduces response size significantly, and may avoid TCP fallback for
  some responses.  This may cause a slight speedup.  The default is
  yes, even though the DNS protocol RFCs mandate these sections, and
  the additional content could be of use and save roundtrips for
  clients.  Because they are not used, and the saved roundtrips are
  easier saved with prefetch, whilst this is faster.

That last sentence sounds like Google Translate before LLM era :-(
What's "they" and "this" there?  Why is prefetch "easier", given the
10 percent figure in the quote above?

-- 
Ian


More information about the Unbound-users mailing list