CPU/Load issues (FreeBSD, BIND 9.4.1)
Stefan Schmidt
stefan.schmidt at freenet.ag
Thu Jul 5 10:04:59 UTC 2007
On Mon, Jul 02, 2007 at 07:28:33PM -0000, Gushi wrote:
> I have a server which answers authoritatively for about 20 zones, and
> is caching DNS for about 1000 recursive clients. This server process
> occasionally eats 90 percent of the CPU and stops responding to {rndc,
> kill -HUP, kill}. Both our DNS servers do this occasionally, but one
> FAR more than the other.
Back when i still used BIND for my recursive DNS Servers (its PowerDNS
recursor now) this problem was already around. [1]
Nowadays the ISC_MEM_USE_INTERNAL_MALLOC thing is the default for
BIND >=9.4 but i still think that disabling threading will prevent this
from happening, at least this is the effect it had for me for about a
year of BIND9 versions in a heavily loaded DNS cache cluster.
btw:
/*!
* Define ISC_MEM_USE_INTERNAL_MALLOC=1 to use the internal malloc()
* implementation in preference to the system one. The internal malloc()
* is very space-efficient, and quite fast on uniprocessor systems. It
* performs poorly on multiprocessor machines.
I found it also helps to blackhole{} bogon [2] networks for it takes the
load of trying to connect to a bogus IN NS of BINDs shoulders.
Do not set max-cache-size too low, the actually value you want depends
on the kind of usage you get. You will need a smaller pool for servers
asking basically the same questions over and over again ( i seriously
hope your webservers don't do hostname lookups ;-) and a really large
one for a DSL or other broadband customer base.
[1] http://zaphods.net/~zaphodb/high-performance-bind9.html
[2] http://www.cymru.com/Bogons/index.html
Stefan
--
<RoMo> ich war x jahre emacs nutzer
<RoMo> UND BIN STOLZ NUN EIN VIM BENUTZER ZU SEIN [tm]
More information about the bind-users
mailing list