| <?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> |