|  | <?xml version="1.0"?> | 
|  | <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> | 
|  | <?xml-stylesheet type="text/xsl" href="../style/manual.de.xsl"?> | 
|  | <!-- English Revision: 420990:1137744 (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. | 
|  | --> | 
|  |  | 
|  | <modulesynopsis metafile="prefork.xml.meta"> | 
|  |  | 
|  | <name>prefork</name> | 
|  | <description>Implementiert einen im Voraus forkenden Webserver ohne | 
|  | Thread-Unterstützung</description> | 
|  | <status>MPM</status> | 
|  | <sourcefile>prefork.c</sourcefile> | 
|  | <identifier>mpm_prefork_module</identifier> | 
|  |  | 
|  | <summary> | 
|  | <p>Dieses Multi-Processing-Modul (MPM) implementiert einen | 
|  | im Voraus forkenden Webserver ohne Thread-Unterstützung, der Anfragen | 
|  | auf ähnliche Weise behandelt wie der Apache 1.3. Es ist für | 
|  | Angebote geeignet, die aus Kompatibilitätsgründen mit | 
|  | nicht-Thread-sicheren Bibliotheken Threading vermeiden müssen. | 
|  | Es ist außerdem das geeignetste MPM, um jede Anfrage isoliert | 
|  | zu bearbeiten, so dass Probleme mit einem einzelnen Prozess keinen | 
|  | anderen beeinflussen.</p> | 
|  |  | 
|  | <p>Das MPM ist stark selbstregulierend, so dass es selten | 
|  | notwendig ist, seine Konfigurationseinstellungen zu justieren. Das | 
|  | Wichtigste ist, dass <directive module="mpm_common">MaxClients</directive> | 
|  | gross genug ist, so viele gleichzeitige Anfragen zu bedienen, wie Sie | 
|  | erwarten, aber klein genug, um sicherzustellen, dass genug physischer | 
|  | Arbeitsspeicher für alle Prozesse vorhanden ist.</p> | 
|  | </summary> | 
|  | <seealso><a href="../bind.html">Bestimmen der vom Apache verwendeten Adressen | 
|  | und Ports</a></seealso> | 
|  |  | 
|  | <section id="how-it-works"><title>Arbeitsweise</title> | 
|  | <p>Ein einzelner Steuerprozess ist für den Start von | 
|  | Kindprozessen verantwortlich, die auf Verbindungen warten und diese | 
|  | bedienen, sobald sie eintreffen. Der Apache versucht immer, mehrere | 
|  | <dfn>freie</dfn> oder unbeschäftigte Serverprozesse vorzuhalten, | 
|  | die zur Bedienung eingehender Anfragen bereit stehen. Auf diese Weise | 
|  | müssen Clients nicht darauf warten, dass neue Kindprozesse | 
|  | geforkt werden, bevor ihre Anfrage bearbeitet werden kann.</p> | 
|  |  | 
|  | <p><directive module="mpm_common">StartServers</directive>, | 
|  | <directive module="prefork">MinSpareServers</directive>, | 
|  | <directive module="prefork">MaxSpareServers</directive> und | 
|  | <directive module="mpm_common">MaxClients</directive> regulieren, | 
|  | wie der Elternprozess Kindprozesse zur Bedienung von Anfragen erstellt. | 
|  | Im Allgemeinen ist der Apache sehr selbstregulierend, so dass die meisten | 
|  | Angebote die Voreinstellung dieser Direktiven nicht verändern | 
|  | müssen. Systeme, die mehr als 256 gleichzeitige Anfragen bedienen | 
|  | müssen, können <directive | 
|  | module="mpm_common">MaxClients</directive> erhöhen, während | 
|  | Systeme mit begrenztem Arbeitsspeicher möglicherweise | 
|  | <directive module="mpm_common">MaxClients</directive> heruntersetzen | 
|  | müssen, um den Server vor Flatterverhalten (Arbeitsspeicherinhalte auf | 
|  | Platte auslagern - und zurück) zu schützen. Weitere | 
|  | Informationen zur Feinabstimmung der Prozesserstellung sind in den | 
|  | <a href="../misc/perf-tuning.html">Performance-Hinweisen</a> zu | 
|  | finden.</p> | 
|  |  | 
|  | <p>Währen der Elternprozess unter Unix normalerweise als | 
|  | <code>root</code> gestartet wird, um sich an Port 80 binden zu können, | 
|  | werden die Kindprozesse unter einem weniger privilegierten Benutzer | 
|  | gestartet. Die Direktiven <directive module="mpm_common">User</directive> | 
|  | und <directive module="mpm_common">Group</directive> werden dazu | 
|  | verwendet, die Privilegien der Apache-Kindprozesse festzulegen. Die | 
|  | Kindprozesse müssen in der Lage sein, alle Inhalte zu lesen, die | 
|  | sie ausliefern sollen, sollten darüber hinaus jedoch so wenig wie | 
|  | möglich Rechte besitzen.</p> | 
|  |  | 
|  | <p><directive module="mpm_common">MaxRequestsPerChild</directive> | 
|  | bestimmt, wie häufig der Server Prozesse erneuert, indem er alte | 
|  | beendet und neue startet.</p> | 
|  | </section> | 
|  |  | 
|  | <directivesynopsis location="mpm_common"><name>CoreDumpDirectory</name> | 
|  | </directivesynopsis> | 
|  | <directivesynopsis location="mpm_common"><name>EnableExceptionHook</name> | 
|  | </directivesynopsis> | 
|  | <directivesynopsis location="mpm_common"><name>PidFile</name> | 
|  | </directivesynopsis> | 
|  | <directivesynopsis location="mpm_common"><name>Listen</name> | 
|  | </directivesynopsis> | 
|  | <directivesynopsis location="mpm_common"><name>ListenBacklog</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>ScoreBoardFile</name> | 
|  | </directivesynopsis> | 
|  | <directivesynopsis location="mpm_common"><name>ReceiveBufferSize</name> | 
|  | </directivesynopsis> | 
|  | <directivesynopsis location="mpm_common"><name>SendBufferSize</name> | 
|  | </directivesynopsis> | 
|  | <directivesynopsis location="mpm_common"><name>ServerLimit</name> | 
|  | </directivesynopsis> | 
|  | <directivesynopsis location="mpm_common"><name>StartServers</name> | 
|  | </directivesynopsis> | 
|  | <directivesynopsis location="mpm_common"><name>User</name> | 
|  | </directivesynopsis> | 
|  | <directivesynopsis location="mpm_common"><name>Group</name> | 
|  | </directivesynopsis> | 
|  | <directivesynopsis location="mpm_common"><name>AcceptMutex</name> | 
|  | </directivesynopsis> | 
|  |  | 
|  | <directivesynopsis> | 
|  | <name>MaxSpareServers</name> | 
|  | <description>Maximale Anzahl der unbeschäftigten Kindprozesse des | 
|  | Servers</description> | 
|  | <syntax>MaxSpareServers <var>Anzahl</var></syntax> | 
|  | <default>MaxSpareServers 10</default> | 
|  | <contextlist><context>server config</context></contextlist> | 
|  |  | 
|  | <usage> | 
|  | <p>Die Direktive <directive>MaxSpareServers</directive> bestimmt das | 
|  | gewünschte Maximum an <em>unbeschäftigten</em> | 
|  | Kindprozessen des Servers. Ein unbeschäftiger Prozess ist einer, der | 
|  | keine Anfrage bedient. Wenn mehr als <directive>MaxSpareServers</directive> | 
|  | Prozesse unbeschäftigt sind, wird der Elternprozess die | 
|  | überschüssigen Prozesse beenden.</p> | 
|  |  | 
|  | <p>Eine Feineinstellung dieses Parameters sollte nur bei sehr | 
|  | beschäftigten Angeboten notwendig sein. Es ist nahezu immer eine | 
|  | schlechte Idee, den Parameter auf einen hohen Wert zu setzen. Wenn Sie | 
|  | versuchen, den Wert kleiner oder gleich <directive | 
|  | module="prefork">MinSpareServers</directive> zu setzen, wird der Apache | 
|  | ihn automatisch auf <directive | 
|  | module="prefork">MinSpareServers</directive> <code>+ 1</code> | 
|  | korrigieren.</p> | 
|  | </usage> | 
|  | <seealso><directive module="prefork">MinSpareServers</directive></seealso> | 
|  | <seealso><directive module="mpm_common">StartServers</directive></seealso> | 
|  | </directivesynopsis> | 
|  |  | 
|  | <directivesynopsis> | 
|  | <name>MinSpareServers</name> | 
|  | <description>Minimale Anzahl der unbeschäftigten Kindprozesse des | 
|  | Servers</description> | 
|  | <syntax>MinSpareServers <var>Anzahl</var></syntax> | 
|  | <default>MinSpareServers 5</default> | 
|  | <contextlist><context>server config</context></contextlist> | 
|  |  | 
|  | <usage> | 
|  | <p>Die Direktive <directive>MinSpareServers</directive> bestimmt das | 
|  | gewünschte Minimum der <em>unbeschäftigten</em> | 
|  | Kindprozesse des Servers. Ein unbeschäftigter Prozess ist einer, der | 
|  | keine Anfrage bedient. Wenn weniger als | 
|  | <directive>MinSpareServers</directive> Prozesse unbeschäftigt sind, | 
|  | dann erstellt der Elternprozess neue mit einer maximalen Rate von 1 | 
|  | pro Sekunde.</p> | 
|  |  | 
|  | <p>Die Feineinstellung des Parameters sollte nur bei sehr | 
|  | beschäftigten Angeboten notwendig sein. Es ist nahezu immer eine | 
|  | schlechte ide, den Parameter auf einen hohen Wert zu setzen.</p> | 
|  | </usage> | 
|  | <seealso><directive module="prefork">MaxSpareServers</directive></seealso> | 
|  | <seealso><directive module="mpm_common">StartServers</directive></seealso> | 
|  | </directivesynopsis> | 
|  |  | 
|  | </modulesynopsis> |