<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Native Posix Thread Library vs LinuxThreads</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="Performance" HREF="performance.html"><LINK REL="PREVIOUS" TITLE="Performance" HREF="performance.html"><LINK REL="NEXT" TITLE="Performance related settings" HREF="performance-settings.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="performance.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >Chapter 9. Performance</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="performance-settings.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="NPTL" >9.2. Native Posix Thread Library vs LinuxThreads</A ></H1 ><P > To get the best performance under Linux, especially on SMP systems, the use of NPTL is advised. The difference in performance can be over a factor of ten in some circumstances. </P ><P > NPTL is the default library on modern Linux distributions, so there is generally not a problem, except if you use a statically compiled version that, for portability reasons, defaults to LinuxThreads. This includes all .deb's and .rpm's provided by us up to and including 2.9.18. </P ><P > When running a PowerDNS-provided static binary of 2.9.18 or lower, it may make sense to recompile, or to upgrade to a newer version, if available. When recompiling, be sure to use a supported compiler, like g++ >3.2. You might also consider moving to a distribution supplied version. </P ><P > A good indication that your installation might benefit from such an upgrade is to watch the 'cs' count in the output of vmstat 1. If this is very high (> 10000), you are suffering from a LinuxThreads performance problem called 'overspin'. </P ><P > Thanks are due to L. Bunt Jackson who noted the static compilation problem in an article in Dr. Dobb's Journal. </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="performance.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="performance-settings.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Performance</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="performance.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Performance related settings</TD ></TR ></TABLE ></DIV ></BODY ></HTML >