Commit 539caf82 authored by Paul Querna's avatar Paul Querna
Browse files

Adding some initial docs for the Event MPM.

I plan on updating mod/event.xml with more details this weekend.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@155309 13f79535-47bb-0310-9956-ffa450edef68
parent 7c488e75
Loading
Loading
Loading
Loading
+94 −0
Original line number Diff line number Diff line
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
<!-- $LastChangedRevision$ -->

<!--
 Copyright 2002-2005 The Apache Software Foundation or its licensors, as
 applicable.

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<modulesynopsis metafile="event.xml.meta">
<name>event</name>
<description>An experimental variant of the standard <module>worker</module>
MPM</description>
<status>MPM</status>
<sourcefile>event.c</sourcefile>
<identifier>mpm_event_module</identifier>

<summary>
    <note type="warning"><title>Warning</title>
      <p>This MPM is experimental, so it may or may not work
      as expected.</p>
    </note>
    
    <p>To use the <module>event</module> MPM, add
      <code>--with-mpm=event</code> to the <program>configure</program>
      script's arguments when building the <program>httpd</program>.</p>
  
    <p>This MPM depends on APR's atomic compare-and-swap operations for
    thread synchronization. If you are compiling for an x86 target
    and you don't need to support 386s, or you are compiling for a
    SPARC and you don't need to run on pre-UltraSPARC chips, add
    <code>--enable-nonportable-atomics=yes</code> to the
    <program>configure</program> script's arguments. This will cause
    APR to implement atomic operations
    using efficient opcodes not available in older CPUs.</p>
</summary>

<directivesynopsis location="mpm_common"><name>AcceptMutex</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>CoreDumpDirectory</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>EnableExceptionHook</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>Group</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>Listen</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ListenBacklog</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>SendBufferSize</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>LockFile</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MaxClients</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MaxMemFree</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MaxRequestsPerChild</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MaxSpareThreads</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>MinSpareThreads</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>PidFile</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ScoreBoardFile</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ServerLimit</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>StartServers</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ThreadLimit</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ThreadsPerChild</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>ThreadStackSize</name>
</directivesynopsis>
<directivesynopsis location="mpm_common"><name>User</name>
</directivesynopsis>

</modulesynopsis>
+11 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8" ?>

<metafile>
  <basename>event</basename>
  <path>/mod/</path>
  <relpath>..</relpath>

  <variants>
    <variant>en</variant>
  </variants>
</metafile>
+1 −1
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@ how they are used by the Apache HTTP Server.</p>
      <li>The server can be better customized for the needs of the
      particular site. For example, sites that need a great deal of
      scalability can choose to use a threaded MPM like 
      <module>worker</module>, while sites requiring
      <module>worker</module> or <module>event</module>, while sites requiring
      stability or compatibility with older software can use a
      <module>prefork</module>. In addition,
      special features like serving different hosts under different
+7 −0
Original line number Diff line number Diff line
@@ -73,6 +73,13 @@
          modern 32-bit Unix systems.  Support for handling &gt;2Gb request
          bodies has also been added.</dd>

      <dt>Event MPM</dt>
      <dd>The <module>event</module> MPM uses a seperate thread to handle
          Keep Alive requests and accepting connections.  Keep Alive requests
          have traditionally required httpd to dedicate a worker to handle it.
          This dedicated worker could not be used again until the Keep Alive 
          timeout was reached.</dd>

    </dl>
  </section>