The original BDB driver provides better performance than the SQL, LDAP and file system databases. This can be attributed to the database being simple and in-process. Which is to say that the database becomes part of DNS server and does not need to perform inter-process communication over named pipes, or TCP/IP. Also, the driver takes advantage of BDB's built-in cache to greatly reduce disk I/O and improve performance.
There are very few options that can be adjusted for this driver. The only option that will have a dramatic effect on the driver's performance is the size of the BDB's cache. This can be controlled through the use of a DB_CONFIG file in the BDB's environment directory. I set the cache size to 832MB as that provided the best performance. A higher cache size caused virtual memory disk swapping, and a lower number reduced the cache hit rate. Both of which resulted in lower performance.
Even though there is nothing that can be adjusted in the configuration below to increase performance, I have included it just for completeness.
dlz "bdb zone" { database "bdb /dns_data/ext3/bdb dns_data.db"; }; |