[Pdns-users] Improving slave performance - dealing with broken masters

Klaus Darilion klaus.mailinglists at pernau.at
Thu Sep 15 10:12:11 UTC 2016


We use PDNS to fetch zone from our customer's master server and serve 
then our our name server. The problem is, if a big customer's master 
server is not available, PDNS is busy doing frehsness checks for the 
respective domains (e.g. 200000 domains). Thus will also cause problems 
for other customer zones because PDNs is busy checking the non 
responsive zones (a slave check takes several hours).

We would need some measure to suspend the checking of the zones form the 
broken master. We had basically 2 ideas:

a) update the domains table not only on successful freshness checks, but 
also on failed ones (e.g. writing the timestamp of the failed check into 
a column last_failure). This can be used in the sql query to skit the 
respective zones for a while, e.g. 30 minutes.

b) in PDNS kep a list of health of the master servers (PI addresses), 
ie. count the number of timeouts and the time of the last timeout. If 
the count > X, then SOA checks against this IP will be skipped for Y 
minutes. After Y minutes the cound wil be reset.

Before we start coding, do you have any inputs of preferred methods to 
solve this issue?


More information about the Pdns-users mailing list