[Pdns-users] Performance?

Mike Benoit mikeb at netnation.com
Wed Apr 9 18:33:33 UTC 2003


The only way to tell for sure is to try it.

The things that matter are how often each record gets hit (or cache hit
rate). Having 15,000 zones, or 1million zones doesn't make much
difference to PDNS. Its how often those zones get queried. We have about
40,000 zones and 500,000 records, but most of the zones only get queried
a couple times a day, so caching doesn't really help for those. Its the
zones that queried many times each day that can be cached, and thus
reduce the load on the database server.

Caching is what will increase performance, so the same zone/record
getting queried over and over again will be cached, and won't put much
load on the server at all. Its when you have 15,000 zones, and all
15,000 are being queried at about the same rate (unlikely) that really
taxes the server. As now the server has to try to cache all those
zones/records, which may require a lot of memory. If you have the memory
to cache them all, then it shouldn't be a problem. 

Keep in mind cache purges can greatly increase load, since I believe the
cache is locked during the purge and thus PDNS defers queries directly
to the database to be answered.

We normally see about a 90% cache hit rate.

On Wed, 2003-04-09 at 11:06, Dan Durrer wrote:
> Well.. How do you know if you system can handle a low cache timeout?
> We have roughly 15,000 zones.  About 30 of them are very large,
> containing 100k+ records each.  We are considering putting the large
> zones on one server, normal ones on another.  The dns server receives
> currently 625 queries/sec.
> 
> Dan
> 
> -----Original Message-----
> From: Mike Benoit [mailto:mikeb at netnation.com] 
> Sent: Wednesday, April 09, 2003 8:54 AM
> To: Dan Durrer
> Cc: pdns-users at mailman.powerdns.com
> Subject: RE: [Pdns-users] Performance?
> 
> 
> pdns_control purge can become quite slow if your cache size gets up in
> to the millions of records (1-2secs per call, on a PIII-866). 1700 calls
> to pdns_control purge in 5mins (~5.6/sec) I doubt would be a smart thing
> unless your cache is quite small. You could always set your cache
> timeout lower to keep your cache size down, if your system can handle
> that, of course.
> 
> With the amount of updates you do, it might just be best to use the
> lowest possible cache timeout that your system can handle. ie: if your
> system can handle a cache timeout of 5mins, there isn't much point in
> using pdns_control purge. Only way to find out for sure is to do some
> tests I guess.
> 
> On Tue, 2003-04-08 at 15:14, Dan Durrer wrote:
> > Cool.. That would work.. Our thought was to have a script that runs on
> 
> > the each dns server.  Querying its database every 5 mins searching for
> 
> > records w/ updated timestamps since its last run.. Then run 
> > pdnscontrol on each of those newly changed hosts.  As our current 
> > system load is, this would be roughly 1700 calls to pdnscontrol every 
> > 5 minutes. Our user base is still rapidly growing.  Does anyone see 
> > any problems with this keeping in mind scaling to many more updates 
> > per 5 min interval?
> > 
> > Thanks
> > Dan
> > 
> > -----Original Message-----
> > From: Mike Benoit [mailto:mikeb at netnation.com]
> > Sent: Tuesday, April 08, 2003 3:07 PM
> > To: Dan Durrer
> > Cc: pdns-users at mailman.powerdns.com
> > Subject: RE: [Pdns-users] Performance?
> > 
> > 
> > We use a perl script and xinetd on each server, then simply echo some 
> > commands to a specified port on each server.
> > 
> > On Tue, 2003-04-08 at 13:50, Dan Durrer wrote:
> > > Sorry for the delayed response.. In regards to pdns_control purge,
> > > this is cool for the master server.  But it seems to me that we
> would 
> > > need to run this command on each server right?  How do you solve
> this 
> > > issue?
> > > 
> > > Dan
> > > 
> > > -----Original Message-----
> > > From: Mike Benoit [mailto:mikeb at netnation.com]
> > > Sent: Friday, April 04, 2003 12:17 PM
> > > To: Dan Durrer
> > > Cc: pdns-users at mailman.powerdns.com
> > > Subject: Re: [Pdns-users] Performance?
> > > 
> > > 
> > > With that many updates, make sure you use InnoDB table types. This
> > > will give you row level locking, and probably the only way MySQL
> will 
> > > work for you. Alternatively use PostgreSQL, though it may be
> slightly 
> > > slower.
> > > 
> > > Uptime: 28.1 days Queries/second, 1, 5, 10 minute averages: 106, 
> > > 102,
> > > 102. Max queries/second: 950
> > > 
> > > Our nameservers are PIII-866's running PDNS, and PostgreSQL on the
> > > same box, it handles spikes without much problem at all. The key of 
> > > course is in the caching values you set. We set our cache to timeout
> 
> > > after 1day, but to still get instant updates, we simply push cache 
> > > expiration commands to PDNS. (pdns_control purge www2.blah.com) This
> 
> > > gives you the best of both worlds and you should be able to scale
> PDNS
> > 
> > > well past thousands of queries/sec.
> > > 
> > > On Thu, 2003-04-03 at 15:26, Dan Durrer wrote:
> > > > Hello,
> > > > 
> > > > We are considering using PowerDNS for a service we offer.  
> > > > Currently we are using BIND 9.  My question is just how well does 
> > > > this
> > software
> > > > perform under heavy load?  Are we going to run into MySQL
> > limitations?
> > > 
> > > > We heavily use the dynamic update feature of bind.  Processing
> > > > roughly
> > > 
> > > > 300/updates a minute.  Our primary dns server answers about 480 
> > > > queries/sec.  One big concern I have with BIND is that after it 
> > > > has been running for a few hours it can take up to 15 minutes to 
> > > > completely shut down, due to all the journal files that get 
> > > > synced.
> > > > 
> > > > Anyone out there care to share there experiences with powerDNS and
> > > > it
> > > > ability to handle high traffic?  Additionally does MySQL
> replication
> > 
> > > > master/slave scenario use more or less bandwidth than a bind IXFR
> > > > based system?
> > > > 
> > > > 
> > > > Thank you,
> > > > Dan
> > > > 
> > > > 
> > > > 
> > > > _______________________________________________
> > > > Pdns-users mailing list
> > > > Pdns-users at mailman.powerdns.com 
> > > > http://mailman.powerdns.com/mailman/listinfo/pdns-users
-- 
Best Regards,
 
Mike Benoit
NetNation Communications Inc.
Systems Engineer
Tel: 604-684-6892 or 888-983-6600
 ---------------------------------------
 
 Disclaimer: Opinions expressed here are my own and not 
 necessarily those of my employer



More information about the Pdns-users mailing list