Maintained by: NLnet Labs

ldns -> unbound migration

Vladimir Levijev
Fri Jun 3 18:17:22 CEST 2016


We are successfully using libldns (C) in our project to perform DNS
queries. At some point the requirements for queries per minute went
high and in order to fulfill those we had to start fork()-ing the
process to perform queries in parallel. This works well but we are
concerned now about the amount of processes run in the system.

After searching on the net I found out about libunbound and it's
ability to perform asynchronous queries. This looks awesome, but the
questions are as follows.

Given the requirement to perform up to 20-40 DNS queries to different
name servers asynchronously in a single task, how well can unbound
handle such load (with all the possible timing outs and so on)? What
would be the recommended limit of queries in this case?

And the second question, perhaps anybody has an idea, how easy is
switching from libldns to libunbound? What are the
advantages/disadvantages of doing that?