[bind10-dev] recent performance improvements
JINMEI Tatuya / 神明達哉
jinmei at isc.org
Tue Mar 20 17:38:38 UTC 2012
At Tue, 20 Mar 2012 08:13:14 -0500 (CDT),
"Jeremy C. Reed" <jreed at isc.org> wrote:
> Okay. I am now specifically setting it to -n 1 by default. The updated
> performance results (bind9 without threads is slower then bind9 built
> with threads and -n 1):
>
> builtin--.nxdomain 3202.635569 qps 3% slower
> builtin--.soa 3408.178849 qps 5% slower
> builtin--.success 15266.703820 qps 6% slower
> root-memory-.nxdomain 38362.727878 qps 38% slower
> root-memory-.soa 25547.769731 qps 56% slower
> root-memory-.success 16004.849085 qps 68% slower
> smallzone-memory-.nxdomain 40865.231371 qps 34% slower
> smallzone-memory-.soa 35941.285741 qps 42% slower
> smallzone-memory-.success 37586.834986 qps 39% slower
>
> (By the way, this is different than I had found a couple years ago,
> where the possible overhead of one thread caused worse performance than
> no threads).
'named -n 1' w/ threads could be faster than named w/o threads since
9.4, especially on a multicore machine. In the authoritative-only
(and no frequent dynamic changes) scenario, the thread overhead is
minimal because it works almost lock-free, and the advantage of the
(single) worker thread not having to watch network/timer events can
outweigh other overhead of the use of the thread.
At least I observed that when I did performance measurement for
multi-thread enhancements before they were merged to 9.4.
> > In the context of comparing BIND 9 and BIND 10, it just doesn't make
> > sense to compare "enabling threads without -n" BIND 9 with a
> > single-process b10-auth if the machine has multiple cores.
> Single b10-auth versus named built with threads using -n 1:
> I need to redo my research of BIND 9 comparing no -n and -n 1 through
> -n32. Last time I did it on same system with older BIND 9, named
> detected cpus was 84% the speed of the best -n number. Since you
> reminded me about -n 1 again that may explain why -n 4 was slower in
> some cases versus no -n. So maybe a newer BIND 9 improved this
> autodetection or it better used a different amount of worker threads.
> Then I will use the best -n to compare against best b10-auth amount.
Without -n, named just tries to use all available CPU (core)s. It may
or may not be the best choice depending on the number itself or the
system's thread model.
---
JINMEI, Tatuya
More information about the bind10-dev
mailing list