[dns-operations] BIND performance difference between RHEL 6.4 and FreeBSD 7

Hannes Frederic Sowa hannes at stressinduktion.org
Thu Apr 24 13:09:33 UTC 2014


On Tue, Apr 22, 2014 at 02:40:08PM -0700, Shawn Zhou wrote:
> 
> 
> Our performance tests show that ISC BIND (authoritative only setup) doesn't perform well on RHEL 6.4 in comparison with FreeBSD 7: bind_perf.png
>  
>    bind_perf.png
> Shared with Dropbox  
> View on www.dropbox.com Preview by Yahoo  
> 
> The "Drop Rate" is the ratio of the amount response never received and the amount of requests were sent. BIND is configured with 24 worker threads and 24 UPD listener, same as the CPU threads we have. BIND process already has '-20' nice priority set on RHEL and '20' on the FreeBSD host.The test hosts running RHEL 6.4 and FreeBSD 7 are identical in term of hardware:
> 2 x Xeon E5-2430, 24GB DDR3 RAM, 1Gb/s NIC. 
> 
> We conducted the tests by having our load generators re-play BIND query logs using our custom scripts and send the queries to the test server at a given rate, say, 200,00 query per seconds. The queries are preloaded into the memory so that's no overhead for our load generators to read queries from disk while sending test queries.
> 
> What we've observed that socket receiving queue (Recv-Q from netstat) drained very fast on FreeBSD but got back up pretty fast on RHEL 6 when we ramped up the test traffic.  With net.core.rmem_default set to 40MB, it only helps RHEL to be able to handle 180,000qps before we start to see receive buffer overruns again and drop rate increases linearly.

If packet drop happens in the host kernel you can easily check where this
happens:

dropwatch -l kas
start

Would be nice to know.

Greetings,

  Hannes




More information about the dns-operations mailing list