[Pdns-users] Performance?

Markus Gebert pdns-user at gebert.net
Fri Apr 4 20:16:31 UTC 2003


DD> Anyone out there care to share there experiences with powerDNS and it
DD> ability to handle high traffic?  Additionally does MySQL replication
DD> master/slave scenario use more or less bandwidth than a bind IXFR based
DD> system?

We serve about 8500 domains with about 50'000 records in total. Pdns
can handle this without any problems using gmysql backend. At rushour
we have about 200 req/min and answers still come at highspeed :).
Startup time is not depending on how big your database is. It depends
on how many backend instances you want to fork. We use 15 backend
processes per server and startup takes about 5 seconds.

MySQL replication is a bit tricky, if you are new to it, but once it
is working (and you make no mistake when altering the database
layout), it seems to be quite stable. So pitfalls:

1. Make sure replication continues when when you restart mysql or
reboot your entire machine. We are using Redhat. In our case this
means to put all the replication config stuff in /etc/my.cnf and NOT in
/root/.my.cnf because this file is not being read on system startup as
far as I know. (We use the rpms from mysql.com)

2. If you have other databases on the same system, apart from the one
you use for pnds, and you don't want to replicate them all, make sure
to tell mysql *exactly* which databases it should replicate and *very
important* which ones not. I set up a database called pdns on my master
server and told mysql on my two slave servers to replicate pdns.
This went well, until I create a pnds_devel database on the master,
which I use to develop a frontend for pdns. The slaves wanted to sync
them as well (don't ask me why), which doesn't work, because replication
only seems to work within databases and not for creating/deleting them.
And that's the problem. One single sql command fails, and replication stops working,
until you correct this, which means to duplicate the databases
manually again and restart replication.


Unfortunately, I can't tell you wether replication or IFXR uses more
bandwitdh, but I can't imagine that there are huge differences. I
don't really know IFXR. As far as mysql is concerned, the amount
of data transmitted depends on what you change and how you do it. If
you update the master server on a record basis, only these updates
will be sent to the slaves. Probably this could be compared to
incremental updates on BIND. Therefore, if you change only things that
really have to be changed, you won't get a traffic overhead.

Another hint: If you're gonna use zone2sql to convert your BIND 9 zone
files, check your per record ttls in the database afterwards. In my
case they were imported incorrecty and had huge values afterwards,
which caused some problems, because I went live before knowing this...

Hope I could help you.

Nice weekend...

Markus



More information about the Pdns-users mailing list