Question about performance

Irenäus Becker lists at
Tue Jun 13 10:10:08 UTC 2006

Hello again,

thank you very much for all your answers.
I make some tests on two different systems to realize the problem.
The first Maschine is like already called Sun Fire 280, the second one
an AMD Opteron with 2GHz.

Command 1:
time xargs cat < nsd.zones > /dev/null 2> /dev/null
Maschine 1 (Sun):
real    0m13.410s
user    0m4.430s
sys     0m5.300s

Maschine 2 (Opteron):
real    0m1.321s
user    0m0.830s
sys     0m0.490s

Command 2:
The second command is quite more interesting:
time rndc rebuild

Maschine1 (Sun):
real    9m8.578s
user    0m23.090s
sys     0m13.770s

Maschine 2(Opteron):
real    3m3.095s
user    2m41.320s
sys     0m7.200s

The user process of zonec on the Sun Maschine just runs with 10% cpu
load. On Opteron it takes 90% cpu load.
Maybe we here have a maschine problem.

Irenäus Becker

>This _might_ be a problem of keeping too many files in one folder.
>One registry I know had great problems when all entries were in
speparate files
>in one folder to build one zone file.
>Some speed up was gained by using 26 (ish) separate folders for the
first letter
>of each entry. Further speedup was gained when using four layers of
folders to
>greatly reduce the number of inodes in the directory (not the inodes in the
>directory entries!)
>Wouter Wijngaards wrote:

> Hi Irenäus,
> The load is very low? zonec will basically read through the nsd.zones
> file and read each of the zone files in turn, read it into memory.
> When it is completely done it will write the nsd.database file.
> Since the load is low it must be waiting on something. It could be
> waiting for the disk - to access the zone files. Zonec does nothing else.
> You could try and see how long it takes to access the files - in the
> order they are listed in nsd.zones, and cat them to dev null. That
> should give the same random access pattern.
> If load includes processes waiting for the disk (disk IO), then it must
> be waiting on something else, perhaps it is swapping to disk (it reads
> the entire database into memory first, 15-30Mb I guess). But you have a
> gig of memory, so I guess not.
> To accelerate the build process, reordering the names in could
> possibly help. Zonec can also build your database by invoking
> cat allzonefiles/* | zonec -f nsd.database -o -
> (zonefiles need $ORIGIN statements), for zonec this makes little
> difference in operation, but the disk access is done by cat.
> Best regards,
>    Wouter
> Irenäus Becker wrote:
> >Hello,
> >we use nsd version 2.3.3 with currently 53000 active zones. Within
> nsd.zones - file we have 9000 commented zones, so that our nsd.zones
> keeps 62000 entrys. The size is 3,5 Mb. All active zones together have
> 400000 records.
> >The application "zonec" needs 5-6 minutes to rebuild nsd.database
> (current size: 15Mb) on a Sun Fire 280 Ultrasparc III 900MHz with 1GB
> Ram.
> >The load of Maschine keeps 0.1-0.2 while zonec rebuilds nsd.database.
> >My questions are:
> >- Do you also need this time to rebuild nsd.database?
> >- Why keeps the load at such low level?
> >- Is it possible to accelerate the rebuild process?
> >Thank you very much,
> >Irenäus Becker
nsd-users mailing list
nsd-users at

>nsd-users mailing list
>nsd-users at

More information about the nsd-users mailing list