[dns-operations] 86198 queries per second from BIND 9

Paul Vixie paul at vix.com
Tue Jan 29 18:32:36 UTC 2008

> Am I reading these correctly?

an ideal dns implementation will run syscall limited.  transactions per second
will be more or less 50% of the number of system calls per second, assuming
one to read the request, one to write the response, and absolutely no others
(at least in the fast path).  if there are enough user mode cpu cycles or
memory accesses per transaction that it takes multiple cores, either using
processes or threads for concurrency, then multiple cores will help.  (but
with nonlinear memory access speeds across the cores, and multilevel caches,
and cache coherency costs like flushing write pipelines and stalling without
predictability, it can often cost more in concurrency overhead than you get
from the additional cpu cycles.)  and always, there's the glass ceiling of
the system call rate.

no doubt that careful tuning including structure layout, heap layout, register
priorities, cache layout, superfast system call and context switching (or
kernel modules to do some of the work without system calls or context
switching at all) could result in a T2000 performing lots better than a
typical linux or BSD rackmount system running x86_64.  ISC has not done this
kind of tuning for BIND9 on the T-2000, since we don't have one and also since
T-2000's are so rare in the world that we can't reasonably spend BIND Forum
money attuning BIND9 to it.

More information about the dns-operations mailing list