<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.de.xsl"?>
<!-- English Revision: 420990:1602764 (outdated) -->

<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You 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.
-->

<manualpage metafile="mpm.xml.meta">

  <title>Multi-Processing-Module (MPMs)</title>

<summary>
  <p>Das Dokument beschreibt, was ein Multi-Processing-Modul ist und wie solche
    Module beim Apache HTTP Server verwendet werden.</p>
</summary>

<section id="introduction"><title>Einf&uuml;hrung</title>

  <p>Der Apache HTTP Server wurde als leistungsf&auml;higer und flexibler Webserver
    konzipiert, der auf einer Vielzahl von Plattformen in einer
    Reihe unterschiedlicher Umgebungen arbeiten kann. Unterschiedliche
    Plattformen und unterschiedliche Umgebungen verlangen oftmals verschiedene
    F&auml;higkeiten oder kennen verschiedene Wege, die gleiche
    Funktionalt&auml;t sehr effizient zu implementieren. Der Apache hat durch
    seinen modularen Aufbau schon immer eine breite Auswahl von Umgebungen
    unterst&uuml;tzt. Dieses Design erlaubt es dem Webmaster, durch Auswahl der
    Module, die zur Kompilierungszeit oder zur Laufzeit geladen werden, die
    Features auszuw&auml;hlen, die in den Server intregiert werden.</p>

  <p>Der Apache 2.0 erweitert dieses modulare Design auf die grundlegenden
    Funktionen eines Webservers. Der Server wird mit einer Auswahl von
    Multi-Processing-Modulen (MPMs) ausgeliefert, die f&uuml;r die Bindung an
    Netzwerkports der Maschine, die Annahme von Anfragen und die Abfertigung von
    Kindprozessen zur Behandlung der Anfragen zust&auml;ndig sind.</p>

  <p>Die Erweiterung des modularen Aufbaus auf diese Ebene des Servers
    bringt zwei wesentliche Vorteile:</p>

  <ul>
    <li>Der Apache kann nun eine Vielfalt von Betriebssystemen sauberer und
      effizienter unterst&uuml;tzen. Insbesondere die Windows-Version des Apache
      ist jetzt deutlich effizienter, da <module>mpm_winnt</module> native
      Netzwerkf&auml;higkeiten anstelle der im Apache 1.3 verwendeten
      POSIX-Schicht benutzen kann. Dieser Vorteil gilt auch f&uuml;r andere
      Betriebssysteme, f&uuml;r die spezielle MPMs implementiert sind.</li>
    
    <li>Der Server l&auml;&szlig;t sich besser auf die Bed&uuml;rfnisse der
      jeweiligen Website anpassen. Sites beispielsweise, die eine hohe
      Skalierbarkeit ben&ouml;tigen, k&ouml;nnen ein Threaded-MPM wie
      <module>worker</module> oder <module>event</module> w&auml;hlen,
      w&auml;hrend Sites, die Stabilit&auml;t oder Kompatibilit&auml;t mit
      &auml;lterer Software erfordern, <module>prefork</module> w&auml;hlen
      k&ouml;nnen.</li>
  </ul>

  <p>Auf Anwenderebene erscheinen MPMs fast wie andere Apache-Module. Der
    Hauptunterschied ist, dass jeweils nur ein einziges MPM in den Server
    geladen werden kann. Die Liste der verf&uuml;gbaren MPMs finden Sie im <a
      href="mod/">Modul-Index</a>.</p>

</section>

<section id="choosing"><title>Auswahl eines MPMs</title>

  <p>MPMs m&uuml;ssen w&auml;hrend der
    <transnote>Quelltext-</transnote>Konfiguration ausgew&auml;hlt und in den
    Server einkompiliert werden. Compiler sind in der Lage eine Reihe von
    Funktionen zu optimieren, wenn Threads verwendet werden. Sie k&ouml;nnen
    dies allerdings nur, wenn sie wissen, dass Threads benutzt werden.</p>

  <p>Um das gew&uuml;nschte MPM tats&auml;chlich auszuw&auml;hlen, verwenden Sie
    beim <program>configure</program>-Skript das Argument
    <code>--with-mpm=<em>NAME</em></code>. <em>NAME</em> ist der Name des
    gew&uuml;nschten MPMs.</p>

  <p>Ist der Server kompiliert, so ist es mittels <code>./httpd -l</code>
    m&ouml;glich, das ausgew&auml;hlte MPM zu ermitteln. Dieser Befehl listet
    alle in den Server einkompilierten Module auf, einschlie&szlig;lich des
    MPM.</p>
</section>

<section id="defaults"><title>MPM-Voreinstellungen</title>

  <p>Die folgende Tabelle gibt die voreingestellten MPMs f&uuml;r verschiedene
    Betriebssysteme an. Wenn Sie w&auml;hrend der Kompilierung keine andere
    Auswahl treffen, wird dieses MPM gew&auml;hlt.</p>

<table>
<columnspec><column width=".2"/><column width=".2"/></columnspec>
<tr><td>BeOS</td><td><module>beos</module></td></tr>
<tr><td>Netware</td><td><module>mpm_netware</module></td></tr>
<tr><td>OS/2</td><td><module>mpmt_os2</module></td></tr>
<tr><td>Unix</td><td><module>prefork</module></td></tr>
<tr><td>Windows</td><td><module>mpm_winnt</module></td></tr>
</table>
</section>

</manualpage>
