FreeBSD bind performance in FreeBSD 7

Kris Kennaway kris at
Thu Feb 28 11:21:05 UTC 2008

Adrian Chadd wrote:
> (Sorry for top posting.)
> Its not actually -that- bad an idea to compare different applications.
> It sets the "bar" for how far the entire system {hardware, OS,
> application, network} can be pushed.
> If nsd beats bind9 by say 5 or 10% over all, then its nothing to write
> home about. If nsd beats bind9 by 50% and shows similar
> kernel/interrupt space time use then thats something to stare at. Even
> if its just because nsd 'does less' and gives more CPU time to
> system/interrupt processing you've identified that the system -can- be
> pushed harder, and perhaps working with the bind9 guys a little more
> can identify what they're doing wrong.
> Thats how I noticed the performance differences between various
> platforms running Squid a few years ago - for example, gettimeofday()
> being called way, way too frequently - and I compare Squid's
> kernel/interrupt time; syscall footprint; hwpmc/oprofile traces; etc
> against other proxy-capable applications (varnish, lighttpd, apache)
> to see exactly what they're doing differently.

Yep, and in this case NSD is currently 90% faster with prospects to push 
it even higher with some further kernel changes (so far we have improved 
it by 45%).  BIND is limited by its own architecture, so improvements 
cannot be made by modifying the kernel.

Anyway, the motivation here is not a DNS deathmatch, but part of our 
ongoing effort to look for aspects of FreeBSD performance that can be 
improved.  Currently we are looking at UDP performance, and DNS serving 
was thought to be a good model for that.  It turns out that BIND does 
not stress the kernel, but NSD does.


More information about the freebsd-questions mailing list