New Deadwood snapshot: Resolve speeds comparable to Unbound

Sam Trenholme strenholme.usenet at gmail.com
Wed Sep 8 16:04:28 EDT 2010


It looks like I have solved the issues people have reported with
Deadwood being sluggish.  The two bugs I fixed were one where Deadwood
would delay timeout_seconds (normally 2 seconds) if there was a
problem getting an upstream IP from its cache, and another where
Deadwood would delay timeout_seconds if there were upper case letters
in the name of a DNS reply.

I just ran Juergen’s test with Deadwood and Unbound.  Deadwood is able
to resolve the list of domain names on my network in 2:42 (two minutes
forty-two seconds) and 2:54 (the 2:42 figure was done starting
Deadwood with no cache); Unbound needed 2:57 to resolve the same list.
 In addition, namebench shows Deadwood doing a lot better than Unbound
(far fewer lost queries and better average response time to the
queries Deadwood does resolve) on my machine.

Steve Gibson’s DNS benchmark tool is buggy and incorrectly reports
that Deadwood drops most DNS packets; I have set up Deadwood to report
every reply it sends as well as every incoming query, and have
verified that Deadwood replies to most, if not all, of its incoming
queries when Gibson’s DNS benchmark is run against it.

In addition, I have revised Deadwood’s internal hash algorithm to be
more secure: The algorithm, in addition to using a multiplication
constant that randomly changes every time Deadwood is compiled in
CentOS Linux or a new Deadwood release is made (which Deadwood has
always done), now uses an additive constant that is different every
time Deadwood is started.  Deadwood is hard-coded to use /dev/urandom
(secret.txt in Windows systems) for entropy to generate this additive
constant from (we also get a bit of entropy from the timestamp); if
this file is not found, Deadwood will fallback to using a hard-coded
additive constant for its core hash.

I would like to thank Juergen Daubert, Wayne, and Marlon for their bug
reports, feedback, and suggestions getting programs to help debug
Deadwood’s performance.

The snapshot can be downloaded here:

http://maradns.org/deadwood/snap/deadwood-H-20100908-3.tar.bz2

Windows users can use this snapshot that has the improved performance
(but not the improvements to Deadwood’s internal hashing function):

http://maradns.org/deadwood/snap/Deadwood-H-20100908-win32.zip

Please report any bugs to the mailing list [1].

- Sam

[1] Crash reports are useless unless they are accompanied by a stack
trace or a recipe for reproducing the crash; Valgrind errors are
invalid unless Deadwood is compiled with -DVALGRIND_NOERRORS

Note: Yeah, I’m still looking for work.  Send me an email if you have
a job for me.

Note also: No, I won’t answer your MaraDNS support concerns via
private email unless you pay me.  Also, please don’t email me bug
reports; post them to the list.


More information about the list mailing list