Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Feb 2008 21:17:56 +0100
From:      Kris Kennaway <kris@FreeBSD.org>
To:        Oliver Herold <oliver@akephalos.de>, freebsd-questions@freebsd.org,  "freebsd-performance@freebsd.org" <freebsd-performance@freebsd.org>
Subject:   Re: FreeBSD bind performance in FreeBSD 7
Message-ID:  <47C32274.2060706@FreeBSD.org>
In-Reply-To: <20080225133347.GA2446@asgard.home>
References:  <20080225133347.GA2446@asgard.home>

next in thread | previous in thread | raw e-mail | index | archive | help
Oliver Herold wrote:
> Hi,
> 
> I saw this bind benchmarks just some minutes ago,
> 
> http://new.isc.org/proj/dnsperf/OStest.html
> 
> is this true for FreeBSD 7 (current state: RELENG_7/7.0R) too? Or is
> this something verified only for the state of development back in August
> 2007?

I have been trying to replicate this.  ISC have kindly given me access 
to their test data but I am seeing Linux performing much slower than 
FreeBSD with the same ISC workload.

   http://people.freebsd.org/~kris/scaling/bind-pt.png

Summary:

* FreeBSD 7.0-R with 4BSD scheduler has close to ideal scaling on this test.

* The drop above 6 threads is due to limitations within BIND.

* Linux 2.6.24 has about 35% lower performance than FreeBSD, which is 
significantly at variance with the ISC results.  It also doesn't scale 
above 3 CPUs.

* I am trying to understand what is different about the ISC 
configuration but have not yet found the cause.  They were testing 
2.6.20.7 so it is possible that there was a major regression before the 
2.6.22 and .24 kernels I tested.  Or maybe something is broken with the 
Intel gige driver in Linux (they were using broadcom hardware).  The 
graph is showing performance over 10ge, but I get the same peak 
performance over gige when I query from 2 clients (the client benchmark 
is very sensitive to network latency so a single client is not enough to 
saturate BIND over gige).

* 7.0 with ULE has a bug on this workload (actually to do with workloads 
involving high interrupt rates).  It is fixed in 8.0.

* Changes we have in progress to improve UDP performance do not help 
much with this particular workload (only about 5%), but with more 
scalable applications we see 30-40% improvement.  e.g. NSD 
(ports/dns/nsd) is a much faster and more scalable DNS server than BIND 
(because it is better optimized for the smaller set of features it 
supports).

Kris





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47C32274.2060706>