Maintained by: NLnet Labs

is a very large local-data list a problem?

Ralph Dolmans
Mon Nov 28 11:23:12 CET 2016


Hi Spike,

The local-zones are stored in a red-black tree, so searching will be
O(log n).

Your memory usage will increase *a lot*. Unbound will create an 8k
memory region for every local-zone containing local-data, so you will
need ~40GB of memory. Do you really need the local data for each zone?
Maybe using a local-zone type that prevents the resolution also works
for you. New versions of unbound (available from our repository, not
released yet) will not allocate the 8K for local-zones without
local-data (see
https://www.nlnetlabs.nl/bugs-script/show_bug.cgi?id=839). In that case
your local-zone tree will need ~2GB of memory.

Regards,
-- Ralph

On 27-11-16 19:08, Spike via Unbound-users wrote:
> Dear all,
> 
> We've been using one of those ads blocklists that is basically a long
> text file of local-data statements sending everything to 127.0.0.1. This
> kind of thing:
> 
> https://deadc0de.re/articles/unbound-blocking-ads.html
> 
> It's worked so well for us that we'd like to grow that list... by a lot
> (~5M entries). I'm wondering if and to what extent this is going to have
> a negative impact on performances or if "simply" the process will grow
> in memory usage. Also how efficient are those lookups going to be? I'm
> not sure this is even a common use case that unbound has been optimized for.
> 
> thanks,
> 
> Spike