1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
<?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:1174747 (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ührung</title>
<p>Der Apache HTTP Server wurde als leistungsfä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ähigkeiten oder kennen verschiedene Wege, die gleiche
Funktionaltät sehr effizient zu implementieren. Der Apache hat durch
seinen modularen Aufbau schon immer eine breite Auswahl von Umgebungen
unterstützt. Dieses Design erlaubt es dem Webmaster, durch Auswahl der
Module, die zur Kompilierungszeit oder zur Laufzeit geladen werden, die
Features auszuwä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ür die Bindung an
Netzwerkports der Maschine, die Annahme von Anfragen und die Abfertigung von
Kindprozessen zur Behandlung der Anfragen zustä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ützen. Insbesondere die Windows-Version des Apache
ist jetzt deutlich effizienter, da <module>mpm_winnt</module> native
Netzwerkfähigkeiten anstelle der im Apache 1.3 verwendeten
POSIX-Schicht benutzen kann. Dieser Vorteil gilt auch für andere
Betriebssysteme, für die spezielle MPMs implementiert sind.</li>
<li>Der Server läßt sich besser auf die Bedürfnisse der
jeweiligen Website anpassen. Sites beispielsweise, die eine hohe
Skalierbarkeit benötigen, können ein Threaded-MPM wie
<module>worker</module> oder <module>event</module> wählen,
während Sites, die Stabilität oder Kompatibilität mit
älterer Software erfordern, <module>prefork</module> wählen
kö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ügbaren MPMs finden Sie im <a
href="mod/">Modul-Index</a>.</p>
</section>
<section id="choosing"><title>Auswahl eines MPMs</title>
<p>MPMs müssen während der
<transnote>Quelltext-</transnote>Konfiguration ausgewählt und in den
Server einkompiliert werden. Compiler sind in der Lage eine Reihe von
Funktionen zu optimieren, wenn Threads verwendet werden. Sie können
dies allerdings nur, wenn sie wissen, dass Threads benutzt werden.</p>
<p>Um das gewünschte MPM tatsächlich auszuwä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ünschten MPMs.</p>
<p>Ist der Server kompiliert, so ist es mittels <code>./httpd -l</code>
möglich, das ausgewählte MPM zu ermitteln. Dieser Befehl listet
alle in den Server einkompilierten Module auf, einschließlich des
MPM.</p>
</section>
<section id="defaults"><title>MPM-Voreinstellungen</title>
<p>Die folgende Tabelle gibt die voreingestellten MPMs für verschiedene
Betriebssysteme an. Wenn Sie während der Kompilierung keine andere
Auswahl treffen, wird dieses MPM gewä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>
|