Hello all, We have put a DNS server online running DJBDNS v1.06 (ndjbdns-1.06-1.el6.x86_64) on a 64-bit CentOS 6.6 server. We have done some limited testing on the machine which it passed - i.e., dnscache was talking to tinydns, the queries went through fine, etc. As soon as we put it online subjecting it to live load the following happened: 1) Within a short time period (about a minute) the dnscache process reached the CPU utilisation level of 100%. 2) The process would then die reporting the following message to the log: dnscache: BUG: out of in progress slots NOTE: Random sampling indicates that at no point sampled did the load exceed 200 requests per second. In tests conducted earlier the DNS server successfully demonstrated speeds in tens of thousands of requests per second. We then proceeded to edit the following parameters in the dnscache.conf as they seemed to be the only ones that seemed relevant: DATALIMIT and CACHESIZE. They are described as limints (in bytes) on the total data memory allocation and cache, default values are 80000000 and 50000000 respectively. Playing with these demonstrated some highly counterintuitive results: 1) Setting the values lower (say, an order of magnitude lower) made the dnscache process run longer. 2) Shortening the relative gap between the two values (for instance, setting DATALIMIT at 52000 and CACHE at 50000) made it run for about an hour vs about 1 minute, load seeming to be about the same. 3) Running it with DATALIMIT not set was possible though it eventually failed anyways. 4) Running it with CACHESIZE not set was not possible at all. So the issue is currently still not resolved and we are stuck. Any advice will be much appreciated. Cheers, Boris.
Use BIND. How the times have changed. :-) PS: I'm also curious for a solution.. for when djbnostalgia hits me. Lucian -- Sent from the Delta quadrant using Borg technology! Nux! www.nux.ro ----- Original Message -----> From: "Boris Epstein" <borepstein at gmail.com> > To: "CentOS mailing list" <centos at centos.org> > Sent: Tuesday, 13 January, 2015 15:53:28 > Subject: [CentOS] DJBDNS: very weird dnscache issue> Hello all, > > We have put a DNS server online running DJBDNS v1.06 > (ndjbdns-1.06-1.el6.x86_64) on a 64-bit CentOS 6.6 server. We have done > some limited testing on the machine which it passed - i.e., dnscache was > talking to tinydns, the queries went through fine, etc. > > As soon as we put it online subjecting it to live load the following > happened: > > 1) Within a short time period (about a minute) the dnscache process reached > the CPU utilisation level of 100%. > > 2) The process would then die reporting the following message to the log: > > dnscache: BUG: out of in progress slots > > NOTE: Random sampling indicates that at no point sampled did the load > exceed 200 requests per second. In tests conducted earlier the DNS server > successfully demonstrated speeds in tens of thousands of requests per > second. > > We then proceeded to edit the following parameters in the dnscache.conf as > they seemed to be the only ones that seemed relevant: DATALIMIT and > CACHESIZE. They are described as limints (in bytes) on the total data > memory allocation and cache, default values are 80000000 and 50000000 > respectively. > > Playing with these demonstrated some highly counterintuitive results: > > 1) Setting the values lower (say, an order of magnitude lower) made the > dnscache process run longer. > > 2) Shortening the relative gap between the two values (for instance, > setting DATALIMIT at 52000 and CACHE at 50000) made it run for about an > hour vs about 1 minute, load seeming to be about the same. > > 3) Running it with DATALIMIT not set was possible though it eventually > failed anyways. > > 4) Running it with CACHESIZE not set was not possible at all. > > So the issue is currently still not resolved and we are stuck. > > Any advice will be much appreciated. > > Cheers, > > Boris. > _______________________________________________ > CentOS mailing list > CentOS at centos.org > http://lists.centos.org/mailman/listinfo/centos
On 01/13/2015 08:53 AM, Boris Epstein wrote:> Hello all, > > We have put a DNS server online running DJBDNS v1.06 > (ndjbdns-1.06-1.el6.x86_64) on a 64-bit CentOS 6.6 server. We have done > some limited testing on the machine which it passed - i.e., dnscache was > talking to tinydns, the queries went through fine, etc. > > As soon as we put it online subjecting it to live load the following > happened: > > 1) Within a short time period (about a minute) the dnscache process reached > the CPU utilisation level of 100%. > > 2) The process would then die reporting the following message to the log: > > dnscache: BUG: out of in progress slots > > NOTE: Random sampling indicates that at no point sampled did the load > exceed 200 requests per second. In tests conducted earlier the DNS server > successfully demonstrated speeds in tens of thousands of requests per > second. > > We then proceeded to edit the following parameters in the dnscache.conf as > they seemed to be the only ones that seemed relevant: DATALIMIT and > CACHESIZE. They are described as limints (in bytes) on the total data > memory allocation and cache, default values are 80000000 and 50000000 > respectively. > > Playing with these demonstrated some highly counterintuitive results: > > 1) Setting the values lower (say, an order of magnitude lower) made the > dnscache process run longer. > > 2) Shortening the relative gap between the two values (for instance, > setting DATALIMIT at 52000 and CACHE at 50000) made it run for about an > hour vs about 1 minute, load seeming to be about the same. > > 3) Running it with DATALIMIT not set was possible though it eventually > failed anyways. > > 4) Running it with CACHESIZE not set was not possible at all. > > So the issue is currently still not resolved and we are stuck. > > Any advice will be much appreciated. > > Cheers, > > Boris. > _______________________________________________ > CentOS mailing list > CentOS at centos.org > http://lists.centos.org/mailman/listinfo/centosPowerdns is supposed to have excellent performance and supports both a caching configuration and a database backend. Nataraj
Lucian, So far here is the best we could find out: https://bugzilla.redhat.com/show_bug.cgi?id=1084747 Testing to see if this is the solution; so far it seems to be. Cheers, Boris. On Tue, Jan 13, 2015 at 2:49 PM, Nux! <nux at li.nux.ro> wrote:> Use BIND. How the times have changed. :-) > > PS: I'm also curious for a solution.. for when djbnostalgia hits me. > > Lucian > > -- > Sent from the Delta quadrant using Borg technology! > > Nux! > www.nux.ro > > ----- Original Message ----- > > From: "Boris Epstein" <borepstein at gmail.com> > > To: "CentOS mailing list" <centos at centos.org> > > Sent: Tuesday, 13 January, 2015 15:53:28 > > Subject: [CentOS] DJBDNS: very weird dnscache issue > > > Hello all, > > > > We have put a DNS server online running DJBDNS v1.06 > > (ndjbdns-1.06-1.el6.x86_64) on a 64-bit CentOS 6.6 server. We have done > > some limited testing on the machine which it passed - i.e., dnscache was > > talking to tinydns, the queries went through fine, etc. > > > > As soon as we put it online subjecting it to live load the following > > happened: > > > > 1) Within a short time period (about a minute) the dnscache process > reached > > the CPU utilisation level of 100%. > > > > 2) The process would then die reporting the following message to the log: > > > > dnscache: BUG: out of in progress slots > > > > NOTE: Random sampling indicates that at no point sampled did the load > > exceed 200 requests per second. In tests conducted earlier the DNS server > > successfully demonstrated speeds in tens of thousands of requests per > > second. > > > > We then proceeded to edit the following parameters in the dnscache.conf > as > > they seemed to be the only ones that seemed relevant: DATALIMIT and > > CACHESIZE. They are described as limints (in bytes) on the total data > > memory allocation and cache, default values are 80000000 and 50000000 > > respectively. > > > > Playing with these demonstrated some highly counterintuitive results: > > > > 1) Setting the values lower (say, an order of magnitude lower) made the > > dnscache process run longer. > > > > 2) Shortening the relative gap between the two values (for instance, > > setting DATALIMIT at 52000 and CACHE at 50000) made it run for about an > > hour vs about 1 minute, load seeming to be about the same. > > > > 3) Running it with DATALIMIT not set was possible though it eventually > > failed anyways. > > > > 4) Running it with CACHESIZE not set was not possible at all. > > > > So the issue is currently still not resolved and we are stuck. > > > > Any advice will be much appreciated. > > > > Cheers, > > > > Boris. > > _______________________________________________ > > CentOS mailing list > > CentOS at centos.org > > http://lists.centos.org/mailman/listinfo/centos > _______________________________________________ > CentOS mailing list > CentOS at centos.org > http://lists.centos.org/mailman/listinfo/centos >