Maintained by: NLnet Labs

Actual performance considerations for multi-core systems

lst_hoe02 at kwsoft.de
Wed Mar 23 17:19:01 CET 2016


Zitat von Eugene Prokopiev via Unbound-users <unbound-users at unbound.net>:

> Hi,
>
> Are optimization hints from
> https://www.unbound.net/documentation/howto_optimise.html actual for
> linux system with 16 cores? I'm using now:
>
> so-rcvbuf: 4M
> so-sndbuf: 4M
> msg-cache-size: 128M
> rrset-cache-size: 256M
> msg-cache-slabs: 65536
> rrset-cache-slabs: 65536
> key-cache-slabs: 65536
> infra-cache-slabs: 65536
> outgoing-range: 8192
> num-queries-per-thread: 4096
>
> Are such setting optimal? How to propertly calculate outgoing-range
> and num-queries-per-thread with libevent?
>
> Is it possible to know if cache size settings are enough or it must be
> increased?

Hello,

the size of cache needed depends on the usage pattern. The optimal  
value would be to hold all not yet expired results in cache. For a  
busy resolver cache i would at least set the msg-cache-size to some  
hundred meg. Regarding the outgoing-range and num-queries-per-thread  
these are values which set the max "in transit" queries, so they  
should be as large as useful and your OS allows. If you like to use  
all cores you might *lower* the values to not overtax the OS because  
these are per thread values.

Regards

Andreas