The process of getting web pages from server to browser involves a complex collaboration between dozens of different pieces of hardware and software. The poor performance of any one of these parts means the difference between a seamless success and a frustrating failure. Nevertheless, it’s arguable that among the most important of those components is the DNS server. If a server’s authoritative domain name server performs poorly or goes down, websites can be rendered unreachable by the outside world. That’s why it’s crucial to choose the right suite of DNS software for your web hosting platform and web server.
The most common choice is BIND, the Berkeley Internet Domain Name server. It’s a venerable piece of software, having its origins in the early 80s, long before the Web was a glimmer in the eye of Tim Berners-Lee. Its main competitor is DJBDNS, a comparatively spritely software suite developed by D. J. Bernstein in the late 1990s. While BIND has enormous levels of adoption, more through inertia than any particular benefit, DJBDNS offers a number of distinct advantages that make it the optimal choice for many web hosting scenarios.
If you’re familiar with UNIX and its descendent Linux, you’ll also be aware of the UNIX philosophy, which is often stated as “Write programs that do one thing well” and “Write programs to work together.”
There are strong arguments in favor of this approach and it’s one that the creator of DJBDNS embraced wholeheartedly. BIND, on the other hand, is a monolithic hunk of software, which doesn’t really make sense for something like DNS, which is composed of many different moving parts. DJBDNS is highly modular and made up of over a dozen different applications designed to work well together, including dsncache, the DNS resolver and cache; tinydns, the DNS server; and axfrdns, the zone transfer server. The main advantages of modularity are low resource use and interchangeability. It’s not necessary to run components that aren’t needed, resulting in a much improved resource use profile. And, the individual components can be replaced with compatible alternatives.
Compared to BIND, DJBDNS is svelte and fast-moving. In a study conducted by John J. Steniger, which involved a comprehensive battery of tests on both BIND and DJBDNS, the differences are striking. In a test that ran 500,000 IP lookups with both BIND and DJBDNS running on identical hardware, it was found that DJBDNS used less than 20% of the RAM taken up by BIND. The cache performance difference is equally notable, with DJBDNS massively outperforming its bigger sibling.
When you’re hosting 1000 or more domains, the slimmer profile of DJBDNS can make a significant difference overall performance.
The modularity, speed, and low resource usage is why smart hosting providers choose to use DJBDNS and a web hosting control panel with full DJBDNS support built-in. 🙂