Todd,
        I came across this when I was preparing my own DNS server upgrade. I
wanted to stay with a pre-packaged BIND that was supported by the OS
vendor (in this case it was CentOS). I realized that the very latest
improvements in performance made in the BIND code would not be available
to me as the version we'd use would be older. I was hoping that just
using much bigger hardware than we were using would help make up for it.
        I also chose to go with a slightly smaller system with a faster front
side bus. We used Xeon 3075 on a Supermicro X7SBL-LN2 motherboard, 8GB
RAM and 2 x 250GB 7200rpm SATA disks and a 3Ware 9650SE RAID card. The
OS is RHEL 5.1. So, this is about half the size of the one tested by
ISC. ISC seemed to determine that the memory bandwidth was a factor in
performance. This is why I chose a dual core at 1333MHz FSB instead of a
quad core at 1066MHz FSB.
        We were doing about 30,000,000 queries per day on an old Celeron D
2.6GHz with 1GB RAM (~350qps average, but bursts at over 1,100qps were
routinely observed). The OS was CentOS 4. There was a noticeable decay
in response time for non-cached responses when these peaks occurred.
This is what prompted the upgrade. I was like most people I imagine,
usually DNS was not something I needed big iron for... usually any old
computer would do the trick (I remember at the time I built that Celeron
2.6, debating if we only needed a Celeron 1.7).
        During testing of the new platform, I couldn't generate enough queries
per second to max the system out. I used the logs from the production
system to generate a list of queries for queryperf to use. I had to set
up a few clients to fire queries at the server. The server resolved as
many as I could fire at it. I got up in the 19,000qps to 25,000qps range
before I figured it was fast enough "for now". I never hit any limit or
slow down. I was logging every query, no iowait. CPU utilization was not
recorded in a way that would be easily reported. I mostly just watched
top. The server was not maxed out at all but adequately occupied. :o)

        It should be noted that I did briefly test a quad-core (Xeon 3220, 8GB
RAM, 2x500GB SATA disks, 3ware 9650SE RAID card) first, but it didn't
seem nearly as fast as I figured it'd be for this job. Before I could do
any real testing or investigation, I had to deploy the server to a
different function. Don't get me wrong it was very fast, but not as fast
as I'd have figured. I was quite certain that the reason was because the
BIND version I was using didn't scale well to 4 threads, but did do 2
threads just fine. From my experience using the same Xeon 3220 setup in
many different jobs, it is indeed a very fast machine.

        It's only been weeks since the new server went in to production.
Yesterday we did 48,000,000 queries (555qps average, with observed peaks
over 10,000qps) on this new machine. There are no periods where
non-cached responses are slowed, and cached responses are as if the
server is telepathic and sending the reply as you send the query...
lightening fast.
        Naturally we have other DNS servers, but this one gets pounded the
hardest as it is a resolver for all of our customers. The other resolver
configured in our customer servers is the load balanced cluster of 3 max
config Dell 1950s that sits behind a pair of F5 load balancers.... which
has generated over 80 alarms in our monitoring system in 2007 and
already had about 20 this year (an alarm is generated when it fails to
resolve www.yahoo.com for 3 consecutive minutes). So I am going to build
another one of these, put it on a diverse network and get the data
center's names servers out of the loop. Jeeze.. you'd think with a setup
like that... the darn thing would answer some queries once in a while.
*sigh*

        The new server is version 9.3.3rc2 as it is packaged with CentOS 5.1 /
RHEL 5.1. The ISC tests helped me to decide not to use FreeBSD with the
latest version of BIND compiled from source. I chose not to use Fedora
because with luck, I'd like to keep the server in production longer than
Fedora would be supported (the last one was in production for over 18
months). I am too busy to mess with Gentoo.

Done rambling... I hope this was useful to someone.

Cheers,
Mike




On Mon, 2008-02-18 at 05:53 -0600, Todd Walton wrote:
> Gentoo tops BIND benchmarks
> ---------------------------
> 
> The Internet Systems Consortium[35] conducted a benchmark to test various
> operating systems for their suitability to run BIND 9[36]. Amongst all the
> operating systems tested, Gentoo Linux running on kernel version 2.6.20.7
> topped the charts, processing 93,000 queries per second! Fedora Core came
> second with 87,000 queries/second, followed by FreeBSD-7 (84,000
> queries/second).
> 
>   35. http://www.isc.org/
>   36. http://packages.gentoo.org/package/net-dns/bind
> 
> For more information, check out ISC's page on the benchmark[37].
> 
>   37. http://new.isc.org/proj/dnsperf/OStest.html
> 
> 
-- 
************************************************************
Michael J. McCafferty
Principal, Security Engineer
M5 Hosting
http://www.m5hosting.com

You can have your own custom Dedicated Server up and running today !
RedHat Enterprise, CentOS, Fedora, Debian, OpenBSD, FreeBSD, and more
************************************************************


-- 
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list

Reply via email to