On Mon, Oct 25, 2004 at 04:29:39PM +0200, Brad Knowles <brad@stop.mail-abuse.org> wrote a message of 63 lines which said:
It [NSD] pre-calculates all possible questions and all possible answers before it loads the zone(s), and then creates a jump table.
It is not entirely true since version 2.0 (ns2.nic.fr runs 2.1.2). It was the original algorithm but it was changed to accomodate DNSsec where a default reply of NXDOMAIN (for every domain not found in the jump table) was not a proper reply. See http://www.nlnetlabs.nl/nsd/
I remember at RIPE 44 that we got a report from the folks up at SUNET, who had tried using NSD to serve the ccTLDs they handle, and even though it was a monster machine with many gigabytes of memory, that still wasn't enough.
ns2.nic.fr is a secondary of ".nl" (the largest zone it serves) and of many in-addr.arpa subdomains and ccTLDs. It serves twelve millions records. Here it is (see VSZ and RSS for its memory consumption): USER PID %CPU %MEM VSZ RSS TTY S STARTED TIME COMMAND nsd 209888 1.7 18.4 669M 564M ?? R 15:26:03 0:22.27 /usr/local/sbin/nsd -a 192.93.0.4 -a 2001:660:3005:1::1:2 -n 4