Sophie

Sophie

distrib > Mageia > 1 > i586 > by-pkgid > b24f4357c8479344be16703c233650c5 > files > 69

pdns-2.9.22-9.mga1.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>PowerDNS Recursor performance</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="PowerDNS manual"
HREF="index.html"><LINK
REL="UP"
TITLE="PowerDNS resolver/recursing nameserver"
HREF="built-in-recursor.html"><LINK
REL="PREVIOUS"
TITLE="Controlling and querying the recursor"
HREF="rec-control.html"><LINK
REL="NEXT"
TITLE="Details"
HREF="recursor-details.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>PowerDNS manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="rec-control.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 12. PowerDNS resolver/recursing nameserver</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="recursor-details.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="RECURSOR-PERFORMANCE"
>12.3. PowerDNS Recursor performance</A
></H1
><P
>	To get the best out of the PowerDNS recursor, which is important if you are doing thousands of queries per second, please 
	consider the following. 
	<P
></P
><UL
><LI
><P
>	      Limit the size of the cache to a sensible value. Cache hit rate does not improve meaningfully beyond 4 million <B
CLASS="COMMAND"
>max-cache-entries</B
>,
	      reducing the memory footprint reduces CPU cache misses.
	    </P
></LI
><LI
><P
>	      Compile using g++ 4.1 or later. This compiler really does a good job on PowerDNS, much better than 3.4 or 4.0.
	    </P
></LI
><LI
><P
>	      Consider performing a 'profiled build' as described in the README. This is good for a 20% performance boost in some cases.
	    </P
></LI
><LI
><P
>	      When running with &gt;3000 queries per second, and running Linux versions prior to 2.6.17 on some motherboards, your computer may 
	      spend an inordinate amount of time working around an ACPI bug for each call to gettimeofday. This is solved by rebooting with 'clock=tsc'
	      or upgrading to a 2.6.17 kernel.
	    </P
><P
>	      The above is relevant if dmesg shows <B
CLASS="COMMAND"
>Using pmtmr for high-res timesource</B
>
	    </P
></LI
><LI
><P
>	      A busy server may need hundreds of file descriptors on startup, and deals with spikes better if it has that many available
	      later on. Linux by default restricts processes to 1024 file descriptors, which should suffice most of the time, but Solaris
	      has a default limit of 256. This can be raised using the ulimit command. FreeBSD has a default limit that is high enough for even
	      very heavy duty use.
	    </P
></LI
><LI
><P
>	      If you need it, try <B
CLASS="COMMAND"
>--fork</B
>, this will fork the daemon into two halves, allowing it to benefit from a second CPU.
	      This feature almost doubles performance, but is a bit of a hack. 
	    </P
></LI
></UL
>
	Following the instructions above, you should be able to attain very high query rates.
      </P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="rec-control.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="recursor-details.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Controlling and querying the recursor</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="built-in-recursor.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Details</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>