httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dgau...@hyperreal.org
Subject cvs commit: apache-1.3/htdocs/manual/misc perf-tuning.html
Date Sun, 10 May 1998 00:11:15 GMT
dgaudet     98/05/09 17:11:14

  Modified:    htdocs/manual/misc perf-tuning.html
  Log:
  update with a few more links
  
  Revision  Changes    Path
  1.10      +35 -4     apache-1.3/htdocs/manual/misc/perf-tuning.html
  
  Index: perf-tuning.html
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/perf-tuning.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- perf-tuning.html	1998/03/03 01:21:56	1.9
  +++ perf-tuning.html	1998/05/10 00:11:14	1.10
  @@ -238,7 +238,7 @@
   web server uses multiple <CODE>Listen</CODE> statements to listen on
   either multiple ports or multiple addresses.  In order to test each
   socket to see if a connection is ready Apache uses <CODE>select(2)</CODE>.
  -<CODE>select(2)</CODE> indicates that a socket has <EM>none</EM>
or
  +<CODE>select(2)</CODE> indicates that a socket has <EM>zero</EM>
or
   <EM>at least one</EM> connection waiting on it.  Apache's model includes
   multiple children, and all the idle ones test for new connections at the
   same time.  A naive implementation looks something like this
  @@ -647,7 +647,8 @@
   properly implement the HTTP protocol.  The second occurs because the
   Common Log Format dictates that the log record include a timestamp of the
   end of the request.  A custom logging module could eliminate one of the
  -calls.
  +calls.  Or you can use a method which moves the time into shared memory,
  +see the <a href="#patches">patches section below</a>.
   
   <P>As described earlier, <CODE>Rule STATUS=yes</CODE> causes two
   <CODE>gettimeofday</CODE> calls and a call to <CODE>times</CODE>:
  @@ -782,6 +783,29 @@
   That's 19 system calls, of which 4 remain relatively easy to remove,
   but don't seem worth the effort.
   
  +<h3><a name="patches">Appendix: Patches Available</a></h3>
  +
  +There are
  +<a href="http://www.arctic.org/~dgaudet/apache/1.3/">
  +several performance patches available for 1.3.</a>  But they may
  +be slightly out of date by the time Apache 1.3.0 has been released,
  +it shouldn't be difficult for someone with a little C knowledge to
  +update them.  In particular:
  +
  +<ul>
  +<li>A 
  +<a href="http://www.arctic.org/~dgaudet/apache/1.3/shared_time.patch">
  +patch</a> to remove all <code>time(2)</code> system calls.
  +<li>A
  +<a href="http://www.arctic.org/~dgaudet/apache/1.3/mod_include_speedups.patch">
  +patch</a> to remove various system calls from <code>mod_include</code>,
  +these calls are used by few sites but required for backwards compatibility.
  +<li>A
  +<a href="http://www.arctic.org/~dgaudet/apache/1.3/top_fuel.patch">
  +patch</a> which integrates the above two plus a few other speedups at the
  +cost of removing some functionality.
  +</ul>
  +
   <H3>Appendix: The Pre-Forking Model</H3>
   
   <P>Apache (on Unix) is a <EM>pre-forking</EM> model server.  The
  @@ -819,9 +843,16 @@
   
   <P>Apache's core code is already multithread aware, and Apache version
   1.3 is multithreaded on NT.  There have been at least two other experimental
  -implementations of threaded Apache (one using the 1.3 code base on DCE,
  +implementations of threaded Apache, one using the 1.3 code base on DCE,
   and one using a custom user-level threads package and the 1.0 code base,
  -neither are available publically).  Part of our redesign for version 2.0
  +neither are available publically.  There is also an experimental port of
  +Apache 1.3 to <a href="http://www.mozilla.org/docs/refList/refNSPR/">
  +Netscape's Portable Run Time</a>, which
  +<a href="http://www.arctic.org/~dgaudet/apache/2.0/">is available</a>
  +(but you're encouraged to join the
  +<a href="http://dev.apache.org/mailing-lists">new-httpd mailing list</a>
  +if you intend to use it).
  +Part of our redesign for version 2.0
   of Apache will include abstractions of the server model so that we
   can continue to support the pre-forking model, and also support various
   threaded models.
  
  
  

Mime
View raw message