mirror of
https://github.com/apache/httpd.git
synced 2025-05-30 01:07:09 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@421136 13f79535-47bb-0310-9956-ffa450edef68
184 lines
8.6 KiB
XML
184 lines
8.6 KiB
XML
<?xml version="1.0"?>
|
|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
|
<?xml-stylesheet type="text/xsl" href="../style/manual.de.xsl"?>
|
|
<!-- English Revision: 420990 -->
|
|
|
|
<!--
|
|
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>
|