I actually found the problem on my end here. Turns out it wasn't related to the server, FreeBSD or BIND. The test bed that I have setup has a gigabit switch connected to another switch that my box is on from which I run dnsperf. On the test bed I have an application on another server running video streaming. This is an older machine and only runs at 100Mb. The stream is coming up from a server on a different switch which is at 1Gb. From what I can tell, due to the bottleneck of the 1Gb server sending video to the 100Mb machine, the switch on my test bed was buffering packets. Apparently the buffers on this switch must be very small or there might be a bug in the switch firmware (Dell PowerConnect 5324).
I started thinking this when I tried Debian Linux on the same machine and still saw the issue. At any rate, I connected my new FreeBSD machine direct to the other switch, and saw the problem go away. I then noticed the video streams had stopped which jogged my memory that it was on the same test bed switch. I moved the FreeBSD machine back to the switch and disconnected the machine receiving the video streams and ran dnsperf again and saw no issues.

Wish I would have found this earlier instead of jumping through all these hoops trying to diagnose the wrong thing. Oh well. Live and learn.


From: Sebastian Tymków [mailto:sebastian.tymkow@gmail.com]
Sent: Wednesday, August 06, 2008 2:36 AM
To: Jeremy Chadwick
Cc: Igor V. Ruzanov; Vinny Abello; freebsd-stable@freebsd.org; bind-users@isc.org
Subject: Re: Query timeouts on FreeBSD 7 over network


I've got similar problem on FreeBSD 6.2 stable.
I upgraded bind from 9.4 to 9.5 but it didn't help.
Machine has load on level 30-45% CPU and 80%-130% WCPU.
Similar machine with FreeBSD 4.x works fine with the same bind version.

Best regards,

Sebastian Tymkow