Timeouts during cache cleaning and zone collection

JINMEI Tatuya / 神明達哉 jinmei at isl.rdc.toshiba.co.jp
Wed Jun 22 18:55:41 UTC 2005

>>>>> On Wed, 22 Jun 2005 03:28:13 GMT, 
>>>>> none at nospam.none (Nod) said:

> Just upgraded from 9.3.1rc1 to 9.3.1. Unfortunately, the cache cleaning still
> results in no answer from the nameserver until it's done.

Hmm...just to be sure, did you also enable
ISC_MEM_USE_INTERNAL_MALLOC? (I'm dubious about whether this takes a
dominant role for this particular issue, though).

Also, didn't you get *any* responses during the cache cleaning?  Or
did you still see some responses (as well as no-answers)?  In my
understanding, named should still be able to respond to queries even
during the cache cleaning while it can drop some of the queries due to
the additional cleaning task.

If you can see some responses, one additional possibility of tuning is
to reduce the load of each 'chunk' of the whole cleaning work.  You
can do this by modifying the DNS_CACHE_CLEANERINCREMENT macro at line
48 of bind-9.3.1/lib/dns/cache.c:

#define DNS_CACHE_CLEANERINCREMENT	1000	/* Number of nodes. */

I hear a report that changing this value to 200 could eliminate the
packet loss in some environment.  (Unfortunately, there is no other
way than modifying the source code to tune this value at the moment).

> Operating system choices aside, is there any reason to expect that moving to a
> threaded nameserver would help overcome this issue?

Yes, at least in theory, because with multiple threads (on multiple
processors) additional threads can continue accepting (and responding
to) queries while the other thread is cleaning the cache.  However,
I'd still not recommend to enable threads for the combination of
FreeBSD and BIND9.  The overhead for the threads in this combination
is so bad, so I suspect the possible benefit does not outweigh the
performance penalty.

For other OSes (with multiple processors), it may be possible to
mitigate this problem with multiple threads.

					JINMEI, Tatuya
					Communication Platform Lab.
					Corporate R&D Center, Toshiba Corp.
					jinmei at isl.rdc.toshiba.co.jp

More information about the bind-users mailing list