httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dean Gaudet <dgau...@hyperreal.org>
Subject cvs commit: apache/htdocs/manual/misc known_bugs.html descriptors.html
Date Sun, 20 Jul 1997 18:30:23 GMT
dgaudet     97/07/20 11:30:23

  Modified:    htdocs/manual/misc  Tag: APACHE_1_2_X  known_bugs.html
                        descriptors.html
  Log:
  More updates from 1.3 docs.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.14.2.6  +7 -2      apache/htdocs/manual/misc/known_bugs.html
  
  Index: known_bugs.html
  ===================================================================
  RCS file: /export/home/cvs/apache/htdocs/manual/misc/known_bugs.html,v
  retrieving revision 1.14.2.5
  retrieving revision 1.14.2.6
  diff -C3 -r1.14.2.5 -r1.14.2.6
  *** known_bugs.html	1997/07/11 13:01:19	1.14.2.5
  --- known_bugs.html	1997/07/20 18:30:21	1.14.2.6
  ***************
  *** 101,108 ****
        see sockets in FIN_WAIT_2 state due to network or operating system
        issues outside the control of Apache. See our <A
        HREF="fin_wait_2.html">FIN_WAIT_2</A> page for more details.
  !     <P><b>Note:</b>  Depending on client mixture, SunOS 4.x boxes
  !     may need all keepalives disabled with "KeepAlive off".
        <P></LI>
    
        <LI>Compilation fails on SCO3 when using gcc instead of cc, complaining
  --- 101,113 ----
        see sockets in FIN_WAIT_2 state due to network or operating system
        issues outside the control of Apache. See our <A
        HREF="fin_wait_2.html">FIN_WAIT_2</A> page for more details.
  ! 
  !     <P>SunOS4 has a kernel bug in the allocation of memory for the mbuf table.
  !     When it fills up, the result is a Panic the next time any routine tries
  !     to set something in an imaginary mbuf beyond the range of the table.
  !     Due to buggy browser behavior and the lack of a FIN_WAIT_2 timeout
  !     on SunOS4, "KeepAlive Off" is necessary to avoid filling up the mbuf
  !     table on busy sites.
        <P></LI>
    
        <LI>Compilation fails on SCO3 when using gcc instead of cc, complaining
  
  
  
  1.1.2.3   +60 -60    apache/htdocs/manual/misc/descriptors.html
  
  Index: descriptors.html
  ===================================================================
  RCS file: /export/home/cvs/apache/htdocs/manual/misc/descriptors.html,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -C3 -r1.1.2.2 -r1.1.2.3
  *** descriptors.html	1997/07/03 06:01:19	1.1.2.2
  --- descriptors.html	1997/07/20 18:30:21	1.1.2.3
  ***************
  *** 15,21 ****
    <!--#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
    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>,
  --- 15,21 ----
    <!--#include virtual="header.html" -->
    <H1 ALIGN="CENTER">Descriptors and Apache</H1>
    
  ! <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,43 ****
    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
    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
    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
    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
  --- 32,43 ----
    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 <EM>FD_SETSIZE</EM>).  Or you
    may be stuck with a (relatively) low amount.  The second limit is called
  ! 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 <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,123 ****
    
    <dl>
    
  !     <dt> <b>BSDI 2.0</b>
  !     <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
  ! 	you wish to support, keep it less than the hard limit).  But it
  ! 	will run into trouble if more than approximately 240 Listen
  ! 	directives are used.  This may be cured by rebuilding your kernel
  ! 	with a higher FD_SETSIZE.
  !     <p>
  ! 
  !     <dt> <b>FreeBSD 2.2, BSDI 2.1+</b>
  !     <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>
  !     <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
  ! 	can find them in the "unofficial patches" section of <a
  ! 	href="http://www.linuxhq.com/">the Linux Information HQ</a>.
  ! 	None of these patches are perfect, and an entirely different
  ! 	approach is likely to be taken during the 2.1.x development.
  ! 	Applying these patches will raise the FD_SETSIZE used to compile
  ! 	all programs, and unless you rebuild all your libraries you should
  ! 	avoid running any other program with a soft descriptor limit above
  ! 	256.  As of this writing the patches available for increasing
  ! 	the number of descriptors do not take this into account.  On a
  ! 	dedicated webserver you probably won't run into trouble.
  !     <p>
  ! 
  !     <dt> <b>Solaris through 2.5.1</b>
  !     <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.
  ! 	Apache uses the stdio library for the ErrorLog directive.
  ! 	When you have more than approximately 110 virtual hosts
  ! 	(with an error log and an access log each) you will need to
  ! 	build Apache with <code>-DHIGH_SLACK_LINE=256</code> added to
  ! 	<code>EXTRA_CFLAGS</code>.  You will be limited to approximately
  ! 	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.
  !     <p>
  ! 
  !     <dt> <b>Others</b>
  !     <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>.
        <p>
    
    </dl>
  --- 65,123 ----
    
    <dl>
    
  !     <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
  !         you wish to support, keep it less than the hard limit).  But it
  !         will run into trouble if more than approximately 240 Listen
  !         directives are used.  This may be cured by rebuilding your kernel
  !         with a higher FD_SETSIZE.
  !     <p>
  ! 
  !     <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><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
  !         can find them in the "unofficial patches" section of <a
  !         href="http://www.linuxhq.com/">the Linux Information HQ</a>.
  !         None of these patches are perfect, and an entirely different
  !         approach is likely to be taken during the 2.1.x development.
  !         Applying these patches will raise the FD_SETSIZE used to compile
  !         all programs, and unless you rebuild all your libraries you should
  !         avoid running any other program with a soft descriptor limit above
  !         256.  As of this writing the patches available for increasing
  !         the number of descriptors do not take this into account.  On a
  !         dedicated webserver you probably won't run into trouble.
  !     <p>
  ! 
  !     <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.
  !         Apache uses the stdio library for the ErrorLog directive.
  !         When you have more than approximately 110 virtual hosts
  !         (with an error log and an access log each) you will need to
  !         build Apache with <code>-DHIGH_SLACK_LINE=256</code> added to
  !         <code>EXTRA_CFLAGS</code>.  You will be limited to approximately
  !         240 error logs if you do this.
  !     <p>
  ! 
  !     <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><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>.
        <p>
    
    </dl>
  ***************
  *** 128,135 ****
    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>.
    
    <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
  --- 128,135 ----
    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 <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
  
  
  

Mime
View raw message