BIND 9.3.0 dropping queries - partial solution

Auer, Karl James karl.auer at id.ethz.ch
Fri Jul 1 10:19:58 UTC 2005


Hi there.

> >> From: John Wobus [mailto:jw354 at cornell.edu]
> >> One thing to check is whether you are losing incoming UDP
> >> packets.=20

Simon Leinen followed up:=20
> possibly sizing up the UDP receive buffers for BIND's
> sockets is a good [idea].

We upgraded to 9.3.1, and we upped the UDP receive buffer size from
about 8K to 32K. The number of lost queries dropped a LOT, but we are
still seeing some. Just upgrading caused a slight improvement, upping
the buffers gave the biggest improvement.

We also compiled 9.3.1 with no threading, with the internal malloc() and
a lower cache cleaning. These do not seem to have brought any noticeable
change, but they seem like good ideas, so we'll leave them in there.

I have a test program that does a stream of queries at 300ms intervals
and counts the various kinds of failures. Anything that gets dropped
between two tests obviously doesn't get counted, but it's a good
indicator of any failure longer than 300ms. Where I was losing on
average one query in a thousand, that has now dropped to one query lost
in about three and a half thousand. I expect that to improve a bit,
because the current numbers are for during the day; during the night,
fewer zone transfers happen.

Timeouts are still happening mostly as the server does its zone
transfers (inbound). Only two transfers are ever active at once, BTW.
There are one or drops that are not accounted for by this and that do
not appear to be related to cache cleaning either, but I'm prepared to
let those by.

Many thanks to all those who made suggestions.

Regards, K.



More information about the bind-users mailing list