dnsperf and BIND memory consumption

Dmitry Rybin kirgudu at corbina.net
Wed Dec 10 13:13:20 UTC 2008


Hi, Ivan!

Methodology test - one of production dns servers. It has over 900
authoritative zones and 50'000 online clients via recursive. 10000
queries per 8,9 second. Also server use views.

=== named.conf ===
key "rndc-key" {
        algorithm hmac-md5;
        secret "XXXXXXXXXXXXXXXXXXXXXXx";
};
controls {
  inet XXX.XXX.XXX.XXX port 1953
  allow { 127.0.0.1; }
  keys { "rndc-key"; };
};

options {
  directory "/etc/namedb";
  max-cache-size 256M;
  max-cache-ttl 3600;
  max-ncache-ttl 1800;
  cleaning-interval 10;
  acache-enable yes;
  acache-cleaning-interval 30;
  max-acache-size 256M;
  transfers-in 10000;
  transfers-out 10000;
  transfers-per-ns 100;
  recursive-clients 10000;
  clients-per-query 80;
  max-clients-per-query 100 ;
  listen-on {
    127.0.0.1;
    XXX.XXX.XXX.XXX;
  };
  rrset-order {order cyclic;};
  pid-file "/var/run/named/pid";
  version "DNS";
  minimal-responses yes;
  allow-recursion {
    XXX.XXX.XXX.XXX/XXX;
  };
  allow-transfer {
    XXX.XXX.XXX.XXX/XXX;
  };
  allow-notify {
    XXX.XXX.XXX.XXX/XXX;
  };
};

view "world" {
        zone "." {
                type hint;
                file "named.root";
        };

        zone "0.0.127.IN-ADDR.ARPA" {
                type master;
                file "localhost.rev";
        };

        include "xxxxxx.conf";
};
view "v0"{
  match-destinations { XXX.XXX.XXX.XXX; };
  match-clients {
     10.10.0.0/16;
  };
  include "v/v0.conf";
};
=== named.conf ===

50 minutes of work... 1563M in mem. LA  0.80, 0.82, 0.79. 8 threads.

$ldd /usr/local/sbin/named
/usr/local/sbin/named:
        libcrypto.so.5 => /lib/libcrypto.so.5 (0x807bf000)
        libthr.so.3 => /lib/libthr.so.3 (0x80a51000)
        libc.so.7 => /lib/libc.so.7 (0x80b67000)


ivan jr sy wrote:
> Hi,
> 
> is it possible to see your named.conf
> what is the methodology of the test? is it for authoritative queries? recursive? or both? at the same time?
> 
> my patch for the port is the same as yours...
> 
> thanks!
> ===============
> ..if ${ARCH} == "amd64"
> ARCH=x86_64
> ..endif
> 
> 
> 
> --- On Thu, 12/11/08, Dmitry Rybin <kirgudu at corbina.net> wrote:
> 
>> From: Dmitry Rybin <kirgudu at corbina.net>
>> Subject: Re: dnsperf and BIND memory consumption
>> To: "JINMEI Tatuya / 神明達哉" <Jinmei_Tatuya at isc.org>
>> Cc: "dougb at FreeBSD.org" <dougb at FreeBSD.org>, "bind-users at isc.org" <bind-users at isc.org>
>> Date: Thursday, December 11, 2008, 1:50 AM
>> JINMEI Tatuya / 神明達哉 wrote:
>>> At Tue, 09 Dec 2008 18:05:27 +0300,
>>> Dmitry Rybin <kirgudu at corbina.net> wrote:
>>>
>>>> I test patch, add to bind95/Makefile
>>>> .if (${ARCH} == "amd64")
>>>> ARCH=           x86_64
>>>> .endif
>>> Future versions of BIND9 will support amd64 in its
>> configure script to
>>> workaround the FreeBSD port for amd64.
>>>
>>> Regarding the memory leak, I believe it's already
>> solved in 9.5.1rc1
>>> (even with threads and without atomic).
>> I just make port bind 9.5.1rc1. It has same problem with
>> memory leak.
>> It grows from 670M on startup, to 1,4Gb after 20 minutes of
>> work.
>>
>> grep x86 work/bind-9.5.1rc1/config.log
>> ISC_ARCH_DIR='x86_32'
>> build='x86_64-portbld-freebsd7.0'
>> build_alias='x86_64-portbld-freebsd7.0'
>> build_cpu='x86_64'
>> host='x86_64-portbld-freebsd7.0'
>> host_cpu='x86_64'
>>
>> _______________________________________________
>> bind-users mailing list
>> bind-users at lists.isc.org
>> https://lists.isc.org/mailman/listinfo/bind-users
> 
> 
>       
> 


-- 
Рыбин Дмитрий
Управление магистральной сети
Отдел Информационных Систем
Руководитель группы АВР
Corbina Telecom
Tel: +7(495) 728-4000



More information about the bind-users mailing list