I think you missed the point. See: https://nlnetlabs.nl/documentation/unbound/howto-optimise/
Set *-slabs to a power of 2 close to the num-threads value. Do this for msg-cache-slabs , rrset-cache-slabs , infra-cache-slabs and key-cache-slabs . This reduces lock contention. I service several hundred thousands of simultaneous clients with 10,000s queries per second on only 12 threads. Cache response time is less than 1ms, average response time is < 10ms. My hosts (I have 3 of them) have 16 threads/cores each, I leave 4 threads to do some server busy work like stats and logs collection. More threads doesn’t always mean better performance and in your case since your slab count is low you’re going to have a lot of lock contention. Cheers From: sir izake <[email protected]> Date: Wednesday, 26 November 2025 at 7:35 pm To: Seth Van Buren <[email protected]> Cc: [email protected] <[email protected]> Subject: Re: How to measure cache hit resolution time in unbound 1.24.1 Hi Seth The server is dedicated for this purpose hence the high number of threads below configs are in place: num-queries-per-thread: 4096 msg-cache-size: 10G rrset-cache-size: 20G key-cache-size: 1G Thank you On Wed, Nov 26, 2025 at 3:34 AM Seth Van Buren <[email protected]<mailto:[email protected]>> wrote: Your thread should be equal to or lower than the number of slabs. The thread count seems extremely high, you should not need so many. You should set num-queries-per-thread. Try 16384 Can you also paste your memory settings and Cache settings? From: sir izake <[email protected]<mailto:[email protected]>> Date: Tuesday, 25 November 2025 at 8:08 pm To: Seth Van Buren <[email protected]<mailto:[email protected]>> Cc: [email protected]<mailto:[email protected]> <[email protected]<mailto:[email protected]>> Subject: Re: How to measure cache hit resolution time in unbound 1.24.1 Hi Seth num-threads: 64 msg-cache-slabs: 32 rrset-cache-slabs: 32 infra-cache-slabs: 32 key-cache-slabs: 32 ratelimit-slabs: 32 ip-ratelimit-slabs: 32 The physical server is a dell 640 with specs below hw.ncpu: 104 hw.model: Intel(R) Xeon(R) Gold 6230R CPU @ 2.10GHz Thank you Isaac On Tue, Nov 25, 2025 at 5:13 AM Seth Van Buren <[email protected]<mailto:[email protected]>> wrote: Home many cores/slabs are you using? From: Unbound-users <[email protected]<mailto:[email protected]>> on behalf of sir izake via Unbound-users <[email protected]<mailto:[email protected]>> Date: Tuesday, 25 November 2025 at 2:51 pm To: [email protected]<mailto:[email protected]> <[email protected]<mailto:[email protected]>> Subject: How to measure cache hit resolution time in unbound 1.24.1 Hi I have installed unbound 1.24.1 on FreeBSD 14.3 OS. My cache hit rate is 76% with over 20% coming through recursive replies. The median time for recursive replies is 440ms while the avg is 520ms. This setup has been running for over 72hrs. I expect stats to improve but that is not happening. Just wanted to find out if there is a way to measure the cache hit resolution time in a dashboard? Can I do anything to improve cache hit ratio? Can I also improve the recursive reply time? I am using unbound_exporter to monitor stats in grafana My configs have been adjusted as follows: rrset-cache-size: 20G msg-cache-size: 10G cache-min-ttl: 1800 I am using the root hint files directly on the server for recursive lookup and not forwarding to any public resolver Thank you Regards, Isaac
