home *** CD-ROM | disk | FTP | other *** search
/ PC World 2003 May / PCWorld_2003-05_cd.bin / Komunik / apache / apache_2.0.45-win32-x86-no_ssl.msi / Data.Cab / F232686_mpm.xml < prev    next >
Extensible Markup Language  |  2002-11-21  |  4KB  |  98 lines

  1. <?xml version='1.0' encoding='UTF-8' ?>
  2. <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
  3. <?xml-stylesheet type="text/xsl" href="./style/manual.en.xsl"?>
  4. <manualpage>
  5. <relativepath href="."/>
  6.  
  7.   <title>Multi-Processing Modules (MPMs)</title>
  8.  
  9. <summary>
  10. <p>This document describes what a Multi-Processing Module is and
  11. how they are using by the Apache HTTP Server.</p>
  12. </summary>
  13.  
  14. <section id="introduction"><title>Introduction</title>
  15.  
  16.     <p>The Apache HTTP Server is designed to be a powerful and
  17.     flexible web server that can work on a very wide variety of
  18.     platforms in a range of different environments. Different
  19.     platforms and different environments often require different
  20.     features, or may have different ways of implementing the same
  21.     feature most efficiently. Apache has always accommodated a wide
  22.     variety of environments through its modular design. This design
  23.     allows the webmaster to choose which features will be included
  24.     in the server by selecting which modules to load either at
  25.     compile-time or at run-time.</p>
  26.  
  27.     <p>Apache 2.0 extends this modular design to the most basic
  28.     functions of a web server. The server ships with a selection of
  29.     Multi-Processing Modules (MPMs) which are responsible for
  30.     binding to network ports on the machine, accepting requests,
  31.     and dispatching children to handle the requests.</p>
  32.  
  33.     <p>Extending the modular design to this level of the server
  34.     allows two important benefits:</p>
  35.  
  36.     <ul>
  37.       <li>Apache can more cleanly and efficiently support a wide
  38.       variety of operating systems. In particular, the Windows
  39.       version of Apache is now much more efficient, since
  40.       <module>mpm_winnt</module> can use native
  41.       networking features in place of the POSIX layer used in
  42.       Apache 1.3. This benefit also extends to other operating
  43.       systems that implement specialized MPMs.</li>
  44.  
  45.       <li>The server can be better customized for the needs of the
  46.       particular site. For example, sites that need a great deal of
  47.       scalability can choose to use a threaded MPM like 
  48.       <module>worker</module>, while sites requiring
  49.       stability or compatibility with older software can use a
  50.       <module>prefork</module>. In addition,
  51.       special features like serving different hosts under different
  52.       userids (<module>perchild</module>) can be
  53.       provided.</li>
  54.     </ul>
  55.  
  56.     <p>At the user level, MPMs appear much like other Apache
  57.     modules. The main difference is that one and only one MPM must
  58.     be loaded into the server at any time. The list of available
  59.     MPMs appears on the <a href="mod/">module index page</a>.</p>
  60.  
  61. </section>
  62.  
  63. <section id="choosing"><title>Choosing an MPM</title>
  64.  
  65.     <p>MPMs must be chosen during configuration, and compiled into
  66.     the server. Compilers are capable of optimizing a lot of
  67.     functions if threads are used, but only if they know that
  68.     threads are being used. Because some MPMs use threads on Unix
  69.     and others don't, Apache will always perform better if the MPM
  70.     is chosen at configuration time and built into Apache.</p>
  71.  
  72.     <p>To actually choose the desired MPM, use the argument
  73.     --with-mpm= <em>NAME</em> with the ./configure script.
  74.     <em>NAME</em> is the name of the desired MPM.</p>
  75.  
  76.     <p>Once the server has been compiled, it is possible to
  77.     determine which MPM was chosen by using <code>./httpd
  78.     -l</code>. This command will list every module that is compiled
  79.     into the server, including the MPM.</p>
  80. </section>
  81.  
  82. <section id="defaults"><title>MPM Defaults</title>
  83.  
  84. <p>The following table lists the default MPMs for various operating
  85. systems.  This will be the MPM selected if you do not make another
  86. choice at compile-time.</p>
  87.  
  88. <table>
  89. <tr><td>BeOS</td><td><module>beos</module></td></tr>
  90. <tr><td>Netware</td><td><module>mpm_netware</module></td></tr>
  91. <tr><td>OS/2</td><td><module>mpmt_os2</module></td></tr>
  92. <tr><td>Unix</td><td><module>prefork</module></td></tr>
  93. <tr><td>Windows</td><td><module>mpm_winnt</module></td></tr>
  94. </table>
  95. </section>
  96.  
  97. </manualpage>
  98.