Commit 9017039c authored by dgaudet's avatar dgaudet
Browse files

More updates from 1.3 docs.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/APACHE_1_2_X@78696 13f79535-47bb-0310-9956-ffa450edef68
parent be2a8f41
Loading
Loading
Loading
Loading
+50 −50
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@
<!--#include virtual="header.html" -->
<H1 ALIGN="CENTER">Descriptors and Apache</H1>

<p>A <i>descriptor</i>, also commonly called a <i>file handle</i> is
<p>A <EM>descriptor</EM>, also commonly called a <EM>file handle</EM> is
an object that a program uses to read or write an open file, or open
network socket, or a variety of other devices.  It is represented
by an integer, and you may be familiar with <code>stdin</code>,
@@ -32,12 +32,12 @@ descriptors (i.e. with many virtual hosts).
that a program can have open at a time.  There are typically three limits
involved here.  One is a kernel limitation, depending on your operating
system you will either be able to tune the number of descriptors available
to higher numbers (this is frequently called <i>FD_SETSIZE</i>).  Or you
to higher numbers (this is frequently called <EM>FD_SETSIZE</EM>).  Or you
may be stuck with a (relatively) low amount.  The second limit is called
the <i>hard resource</i> limit, and it is sometimes set by root in an
the <EM>hard resource</EM> limit, and it is sometimes set by root in an
obscure operating system file, but frequently is the same as the kernel
limit.  The third limit is called the <i>soft
resource</i> limit.  The soft limit is always less than or equal to
limit.  The third limit is called the <EM>soft
resource</EM> limit.  The soft limit is always less than or equal to
the hard limit.  For example, the hard limit may be 1024, but the soft
limit only 64.  Any user can raise their soft limit up to the hard limit.
Root can raise the hard limit up to the system maximum limit.  The soft
@@ -65,7 +65,7 @@ situation somewhat. Here is a partial list of systems and workarounds

<dl>

    <dt> <b>BSDI 2.0</b>
    <dt><STRONG>BSDI 2.0</STRONG>
    <dd>Under BSDI 2.0 you can build Apache to support more descriptors
        by adding <code>-DFD_SETSIZE=nnn</code> to
        <code>EXTRA_CFLAGS</code> (where nnn is the number of descriptors
@@ -75,13 +75,13 @@ situation somewhat. Here is a partial list of systems and workarounds
        with a higher FD_SETSIZE.
    <p>

    <dt> <b>FreeBSD 2.2, BSDI 2.1+</b>
    <dt><STRONG>FreeBSD 2.2, BSDI 2.1+</STRONG>
    <dd>Similar to the BSDI 2.0 case, you should define
        <code>FD_SETSIZE</code> and rebuild.  But the extra
        Listen limitation doesn't exist.
    <p>

    <dt> <b>Linux</b>
    <dt><STRONG>Linux</STRONG>
    <dd>By default Linux has a kernel maximum of 256 open descriptors
        per process.  There are several patches available for the
        2.0.x series which raise this to 1024 and beyond, and you
@@ -97,7 +97,7 @@ situation somewhat. Here is a partial list of systems and workarounds
        dedicated webserver you probably won't run into trouble.
    <p>

    <dt> <b>Solaris through 2.5.1</b>
    <dt><STRONG>Solaris through 2.5.1</STRONG>
    <dd>Solaris has a kernel hard limit of 1024 (may be lower in earlier
        versions).  But it has a limitation that files using
        the stdio library cannot have a descriptor above 255.
@@ -109,12 +109,12 @@ situation somewhat. Here is a partial list of systems and workarounds
        240 error logs if you do this.
    <p>

    <dt> <b>AIX version ??</b>
    <dd> AIX appears to have a hard limit of 128 descriptors.  End of
	story.
    <dt><STRONG>AIX STRONG>
    <dd>AIX version 3.2?? appears to have a hard limit of 128 descriptors.
	End of story.  Version 4.1.5 has a hard limit of 2000.
    <p>

    <dt> <b>Others</b>
    <dt><STRONG>Others</STRONG>
    <dd>If you have details on another operating system, please submit
        it through our <a href="http://www.apache.org/bug_report.html">Bug
        Report Page</a>.
@@ -128,8 +128,8 @@ DNS resolver library that is used by pretty much every unix, which
fails if it ends up with a descriptor above 256.  We suspect there
are other libraries that similar limitations.  So the code as of 1.2.1
takes a defensive stance and tries to save descriptors less than 16
for use while processing each request.  This is called the <i>low
slack line</i>.
for use while processing each request.  This is called the <EM>low
slack line</EM>.

<p>Note that this shouldn't waste descriptors.  If you really are pushing
the limits and Apache can't get a descriptor above 16 when it wants