diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 06:33:50 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 06:33:50 +0000 |
commit | fe39ffb8b90ae4e002ed73fe98617cd590abb467 (patch) | |
tree | b80e5956907d8aeaaffe4e4f0c068c0e6157ce8b /docs/manual/mod/mpm_common.html | |
parent | Initial commit. (diff) | |
download | apache2-upstream/2.4.56.tar.xz apache2-upstream/2.4.56.zip |
Adding upstream version 2.4.56.upstream/2.4.56upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | docs/manual/mod/mpm_common.html | 21 | ||||
-rw-r--r-- | docs/manual/mod/mpm_common.html.de | 780 | ||||
-rw-r--r-- | docs/manual/mod/mpm_common.html.en | 891 | ||||
-rw-r--r-- | docs/manual/mod/mpm_common.html.fr.utf8 | 975 | ||||
-rw-r--r-- | docs/manual/mod/mpm_common.html.ja.utf8 | 801 | ||||
-rw-r--r-- | docs/manual/mod/mpm_common.html.tr.utf8 | 910 |
6 files changed, 4378 insertions, 0 deletions
diff --git a/docs/manual/mod/mpm_common.html b/docs/manual/mod/mpm_common.html new file mode 100644 index 0000000..e0cc074 --- /dev/null +++ b/docs/manual/mod/mpm_common.html @@ -0,0 +1,21 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mpm_common.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: mpm_common.html.en +Content-Language: en +Content-type: text/html; charset=UTF-8 + +URI: mpm_common.html.fr.utf8 +Content-Language: fr +Content-type: text/html; charset=UTF-8 + +URI: mpm_common.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: mpm_common.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/docs/manual/mod/mpm_common.html.de b/docs/manual/mod/mpm_common.html.de new file mode 100644 index 0000000..b9bfda2 --- /dev/null +++ b/docs/manual/mod/mpm_common.html.de @@ -0,0 +1,780 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"><head> +<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mpm_common - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP-Server</a> > <a href="http://httpd.apache.org/docs/">Dokumentation</a> > <a href="../">Version 2.4</a> > <a href="./">Module</a></div> +<div id="page-content"> +<div id="preamble"><h1>Allgemeine Direktiven der Apache-MPMs</h1> +<div class="toplang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/mpm_common.html" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">Diese Übersetzung ist möglicherweise + nicht mehr aktuell. Bitte prüfen Sie die englische Version auf + die neuesten Änderungen.</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Beschreibung:</a></th><td>Eine Sammlung von Direktiven, die in mehr als einem + Multi-Processing-Modul (MPM) implementiert sind.</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>MPM</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Direktiven</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listen">Listen</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listenbacklog">ListenBackLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#pidfile">PidFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startservers">StartServers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startthreads">StartThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadstacksize">ThreadStackSize</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_common">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_common">Report a bug</a></li></ul><h3>Siehe auch</h3> +<ul class="seealso"> +<li><a href="#comments_section">Kommentare</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CoreDumpDirectory" id="CoreDumpDirectory">CoreDumpDirectory</a>-<a name="coredumpdirectory" id="coredumpdirectory">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Verzeichnis, in das der Apache zu wechseln versucht, bevor er + einen Hauptspeicherauszug erstellt</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CoreDumpDirectory <var>Verzeichnis</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für die Voreinstellung siehe Beschreibung</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Dies beeinflusst das Verzeichnis, in welches der Apache zu wechseln + versucht, bevor er einen Hauptspeicherauszug <span class="transnote">(<em>Anm.d.Ü.:</em> einen + so genannten Core-Dump)</span> erstellt. Die Voreinstellung ist das + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>-Verzeichnis. Da dieses + jedoch nicht für den Benutzer beschreibbar sein soll, unter dem + der Server läuft, werden normalerweise keine + Hauptspeicherauszüge geschrieben. Wenn Sie zum Debuggen + einen Hauptspeicherauszug haben möchten, können Sie + ihn mit dieser Direktive an einem anderen Ort ablegen lassen.</p> + + <div class="note"><h3>Hauptspeicherauszüge unter Linux</h3> + <p>Wenn Apache als <code>root</code> startet und zu einem anderen Benutzer + wechselt, <em>deaktiviert</em> der Linux-Kernel Hauptspeicherauszüge + auch dann, wenn der Prozess in dem Verzeichnis schreiben darf. Ab Linux + 2.4 reaktiviert Apache (ab 2.0.46) Hauptspeicherauszüge wieder, + jedoch nur dann, wenn Sie explizit + <code class="directive">CoreDumpDirectory</code> konfigurieren.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableExceptionHook" id="EnableExceptionHook">EnableExceptionHook</a>-<a name="enableexceptionhook" id="enableexceptionhook">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Aktiviert einen Hook, der nach einem Absturz noch +Ausnahmefehler behandeln lassen kann</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>EnableExceptionHook On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>EnableExceptionHook Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar seit Version 2.0.49</td></tr> +</table> + <p>Diese Direktive ist aus Sicherheitsgründen nur verfügbar, + wenn der Server mit der Option <code>--enable-exception-hook</code> + konfiguriert wurde. Sie aktiviert einen Hook, der es externen Modulen + erlaubt, sich dort einzuhängen und nach dem Absturz eines + Kindprozesses noch Aktionen durchzuführen.</p> + + <p>Es existieren bereits zwei Module, <code>mod_whatkilledus</code> und + <code>mod_backtrace</code>, welche diesen Hook verwenden. Weitere + Informationen hierzu finden Sie auf Jeff Trawicks <a href="http://www.apache.org/~trawick/exception_hook.html">EnableExceptionHook-Seite</a>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="GracefulShutdownTimeout" id="GracefulShutdownTimeout">GracefulShutdownTimeout</a>-<a name="gracefulshutdowntimeout" id="gracefulshutdowntimeout">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Specify a timeout after which a gracefully shutdown server +will exit.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>GracefulShutdownTimeout <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>GracefulShutdownTimeout 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in version 2.2 and later</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Listen" id="Listen">Listen</a>-<a name="listen" id="listen">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>IP-Adressen und Ports, an denen der Server lauscht</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Listen [<var>IP-Addresse</var>:]<var>Port</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Seit Apache 2.0 vorgeschrieben</td></tr> +</table> + <p>Die Direktive <code class="directive">Listen</code> weist den Apache an, + nur an den angegebenen IP-Adressen oder Ports zu lauschen. + Standardmäßig antwortet er auf alle Anfragen an allen + IP-Interfaces. <code class="directive">Listen</code> ist nun eine notwendige + Anweisung. Wenn sie nicht in der Konfigurationsdatei enthalten ist, + wird der Server-Start fehlschlagen. Dies ist eine Änderung + gegenüber früheren Versionen des Apache.</p> + + <p>Die Direktive <code class="directive">Listen</code> weist den Server an, + ankommende Anfragen am angegebenen Port oder der + Kombination aus Adresse und Port entgegenzunehmen. Wenn nur eine Portnummer + angegeben ist, dann lauscht der Server am angegebenen Port an allen + Interfaces. Wenn sowohl eine IP-Adresse als auch ein Port angegeben + sind, dann lauscht der Server am angegeben Port und Interface.</p> + + <p>Es können mehrere <code class="directive">Listen</code>-Anweisungen + verwendet werden, um eine Reihe von Adressen und Port anzugeben, an + denen gelauscht werden soll. Der Server antwortet auf Anfragen von + jedem der aufgeführten Adressen und Ports.</p> + + <p>Um beispielsweise den Server Verbindungen an den beiden Ports 80 und + 8000 annehmen zu lassen, verwenden Sie:</p> + + <div class="example"><p><code> + Listen 80<br /> + Listen 8000 + </code></p></div> + + <p>Um den Server Verbindungen an zwei angegebenen Interfaces und Ports + annehmen zu lassen, verwenden Sie:</p> + + <div class="example"><p><code> + Listen 192.170.2.1:80<br /> + Listen 192.170.2.5:8000 + </code></p></div> + + <p>IPv6-Adressen müssen wie in dem folgenden Beispiel in eckige + Klammern eingeschlossen werden:</p> + + <div class="example"><p><code> + Listen [2001:db8::a00:20ff:fea7:ccea]:80 + </code></p></div> + + <div class="note"><h3>Fehlermöglichkeit</h3> + Mehrere <code class="directive">Listen</code>-Direktiven für gleiche + IP-Adresse und Port führen zur Fehlermeldung + <code>Address already in use</code> <span class="transnote">(<em>Anm.d.Ü.:</em> Adresse schon in + Benutzung)</span>. + </div> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../dns-caveats.html">DNS-Probleme</a></li> +<li><a href="../bind.html">Bestimmen, welche Adressen und Ports der + Apache verwendet</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ListenBackLog" id="ListenBackLog">ListenBackLog</a>-<a name="listenbacklog" id="listenbacklog">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Maximale Länge der Warteschlange schwebender + Verbindungen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ListenBacklog <var>backlog</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ListenBacklog 511</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Die maximale Länge der Warteschlange schwebender Verbindungen. + Üblicherweise ist keine Feineinstellung notwendig oder sinnvoll, + auf einigen System kann es jedoch gewünscht sein, diesen Wert bei + TCP-SYN-Angriffen zu erhöhen. Beachten Sie auch die Beschreibung des + backlog-Parameters der Systemfunktion <code>listen(2)</code>.</p> + + <p>Der Wert wird vom Betriebssystem oft auf eine niedrigere + Einstellung begrenzt. Dies variiert von Betriebssystem zu Betriebssystem. + Beachten Sie auch, dass viele Betriebssyteme nicht genau beachten, + was für backlog angegeben ist, jedoch einen Wert basierend auf der + Angabe (normalerweiseweise jedoch größer als diese) verwenden.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ListenCoresBucketsRatio" id="ListenCoresBucketsRatio">ListenCoresBucketsRatio</a>-<a name="listencoresbucketsratio" id="listencoresbucketsratio">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Ratio between the number of CPU cores (online) and the number of +listeners' buckets</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ListenCoresBucketsRatio <var>ratio</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ListenCoresBucketsRatio 0 (disabled)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available in Apache HTTP Server 2.4.17, with a kernel supporting +the socket option <code>SO_REUSEPORT</code> and distributing new connections +evenly across listening processes' (or threads') sockets using it (eg. Linux +3.9 and later, but not the current implementations of <code>SO_REUSEPORT</code> +in *BSDs.</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxConnectionsPerChild" id="MaxConnectionsPerChild">MaxConnectionsPerChild</a>-<a name="maxconnectionsperchild" id="maxconnectionsperchild">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Limit on the number of connections that an individual child server +will handle during its life</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxConnectionsPerChild <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>MaxConnectionsPerChild 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Available Apache HTTP Server 2.3.9 and later. The old name +<code>MaxRequestsPerChild</code> is still supported.</td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxMemFree" id="MaxMemFree">MaxMemFree</a>-<a name="maxmemfree" id="maxmemfree">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Maximale Menge des Arbeitsspeichers, den die + Haupt-Zuteilungsroutine verwalten darf, ohne <code>free()</code> + aufzurufen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxMemFree <var>KBytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>MaxMemFree 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>Die Direktive <code class="directive">MaxMemFree</code> gibt die maximale + Menge freier Kilobytes an, welche die Haupt-Zuteilungsroutine verwalten + darf, ohne <code>free()</code> aufzurufen. Wenn keine Angabe gemacht wird, + oder Null angegeben ist, wird dieser Wert nicht eingeschränkt.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRequestWorkers" id="MaxRequestWorkers">MaxRequestWorkers</a>-<a name="maxrequestworkers" id="maxrequestworkers">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Maximum number of connections that will be processed +simultaneously</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxRequestWorkers <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxSpareThreads" id="MaxSpareThreads">MaxSpareThreads</a>-<a name="maxsparethreads" id="maxsparethreads">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Maximale Anzahl unbeschäftigter Threads</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxSpareThreads <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Maximale Anzahl unbeschäftigter Threads. Die verschiedenen MPMs + behandeln diese Anweisung unterschiedlich.</p> + + <p>Die Voreinstellung für <code class="module"><a href="../mod/perchild.html">perchild</a></code> ist + <code>MaxSpareThreads 10</code>. Das MPM überwacht die Anzahl der + unbeschäftigten Threads auf der Basis einzelner Kindprozesse. Wenn + zu viele unbeschäftigte Threads in einem Kindprozess existieren, + beendet der Server Threads innerhalb dieses Kindprozesses.</p> + + <p>Die Voreinstellung für <code class="module"><a href="../mod/worker.html">worker</a></code>, + <code class="module"><a href="../mod/leader.html">leader</a></code> und <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> ist + <code>MaxSpareThreads 250</code>. Diese MPMs behandeln Threads + auf einer serverweiten Basis. Wenn zu viele unbeschäftigte Threads + im Server existieren, dann werden solange Kindprozesse beendet, bis + die Anzahl der unbeschäftigten Threads kleiner als der + angegebene Wert ist.</p> + + <p>Die Voreinstellung für <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> ist + <code>MaxSpareThreads 100</code>. Da dieses MPM nur einen einzigen + Prozess ausführt, ist die Zählung überschüssiger + Threads ebenfalls serverweit.</p> + + <p><code class="module"><a href="../mod/beos.html">beos</a></code> and <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> arbeiten + ähnlich wie <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>. Die Voreinstellung + für <code class="module"><a href="../mod/beos.html">beos</a></code> ist <code>MaxSpareThreads 50</code>. + Die Voreinstellung für <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> ist + <code>10</code>.</p> + + <div class="note"><h3>Restriktionen</h3> + <p>Der Wertebereich von <code class="directive">MaxSpareThreads</code> + ist eingeschränkt. Apache korrigiert den angegebenen Wert + automatisch gemäß den folgenden Regeln:</p> + <ul> + <li><code class="module"><a href="../mod/perchild.html">perchild</a></code> verlangt, dass <code class="directive">MaxSpareThreads</code> kleiner oder gleich <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> ist.</li> + + <li><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> verlangt einen Wert größer + als <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>.</li> + + <li>Bei <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> und + <code class="module"><a href="../mod/worker.html">worker</a></code> muss der Wert größer oder gleich + der Summe aus <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> und + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> sein.</li> + </ul> + </div> + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MinSpareThreads" id="MinSpareThreads">MinSpareThreads</a>-<a name="minsparethreads" id="minsparethreads">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Minimale Anzahl unbeschäftigter Threads, die zur + Bedienung von Anfragespitzen zur Verfügung stehen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MinSpareThreads <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Minimale Anzahl unbeschäftigter Threads, um Anfragespitzen + zu bedienen. Die verschiedenen MPMs behandeln die Anweisung + unterschiedlich.</p> + + <p><code class="module"><a href="../mod/perchild.html">perchild</a></code> verwendet die Voreinstellung + <code>MinSpareThreads 5</code> und überwacht die Anzahl der + unbeschäftigten Threads auf der Basis einzelner Kindprozesse. Wenn + in einem Kindprozess nicht genügend unbeschäftigte + Threads vorhanden sind, erstellt der Server neue Threads innerhalb + dieses Kindprozesses. Wenn Sie also <code class="directive"><a href="../mod/perchild.html#numservers">NumServers</a></code> auf <code>10</code> und <code class="directive">MinSpareThreads</code> auf einen Wert von <code>5</code> setzen, + haben Sie mindestens 50 unbeschäftigte Threads auf Ihrem + System.</p> + + <p><code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code> und + <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> verwenden eine Voreinstellung von + <code>MinSpareThreads 75</code> und behandeln unbeschäftigte + Threads auf serverweiter Basis. Wenn nicht genügend + unbeschäftigte Threads im Server vorhanden sind, dann + werden solange Kindprozesse erzeugt, bis die Anzahl unbeschäftigter + Threads größer als der angegebene Wert ist.</p> + + <p><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> verwendet die Voreinstellung + <code>MinSpareThreads 10</code> und verfolgt dies serverweit, da + es ein Einzelprozess-MPM ist.</p> + + <p><code class="module"><a href="../mod/beos.html">beos</a></code> und <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> arbeiten + ähnlich wie <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>. Die Voreinstellung + für <code class="module"><a href="../mod/beos.html">beos</a></code> ist <code>MinSpareThreads 1</code>. + Die Voreinstellung für <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> ist + <code>5</code>.</p> + + +<h3>Siehe auch</h3> +<ul> +<li><code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="PidFile" id="PidFile">PidFile</a>-<a name="pidfile" id="pidfile">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Datei, in welcher der Server die Prozess-ID des Daemons +ablegt</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>PidFile <var>Dateiname</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>PidFile logs/httpd.pid</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Die Direktive <code class="directive">PidFile</code> bestimmt die Datei, + in welcher der Server die Prozess-ID des Daemons ablegt. Wenn der + Dateiname nicht absolut angegeben wird, wird er relativ zu + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> interpretiert.</p> + + <div class="example"><h3>Beispiel</h3><p><code> + PidFile /var/run/apache.pid + </code></p></div> + + <p>Es ist oft hilfreich, dem Server ein Signal senden zu können, + damit er seine <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code>s und + <code class="directive"><a href="../mod/mod_log_config.html#transferlog">TransferLog</a></code>s + schließt und dann neu öffnet und seine + Konfigurationsdateien neu einliest. Dies kann durch Senden eines + SIGHUP-Signals (kill -1) an die Prozess-ID geschehen, die im + <code class="directive">PidFile</code> eingetragen ist.</p> + + <p>Die <code class="directive">PidFile</code>-Datei unterliegt den + gleichen Warnungen über die Ablage von Protokolldateien + und <a href="../misc/security_tips.html#serverroot">Sicherheit</a>.</p> + + <div class="note"><h3>Anmerkung</h3> + <p>Ab Apache 2 wird empfohlen, nur das Skript <code class="program"><a href="../programs/apachectl.html">apachectl</a></code> zum (Neu-)Starten und Stoppen des Servers zu + verwenden.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ReceiveBufferSize" id="ReceiveBufferSize">ReceiveBufferSize</a>-<a name="receivebuffersize" id="receivebuffersize">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>TCP receive buffer size</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ReceiveBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ReceiveBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table><p>Die Dokumentation zu dieser Direktive wurde + noch nicht übersetzt. Bitte schauen Sie in die englische + Version.</p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScoreBoardFile" id="ScoreBoardFile">ScoreBoardFile</a>-<a name="scoreboardfile" id="scoreboardfile">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Ablageort der Datei, die zur Speicherung von Daten zur + Koordinierung der Kindprozesse verwendet wird</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ScoreBoardFile <var>Dateipfad</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>ScoreBoardFile logs/apache_status</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Apache verwendet ein Scoreboard zur Kommunikation zwischen + seinen Eltern- und Kindprozessen. Einige Architekturen erfordern + eine Datei zur Unterstützung der Kommunikation. Wenn die Datei + undefiniert bleibt, versucht der Apache zuerst, das Scoreboard im + Arbeitsspeicher zu erstellen (Verwendung von anonymem Shared-Memory), + und versucht bei einem Fehlschlag anschließend die Datei auf + der Festplatte zu erstellen (Verwendung von Datei-basiertem + Shared-Memory). Die Angabe dieser Direktive veranlaßt den + Apache stets, die Datei auf der Festplatte zu erstellen.</p> + + <div class="example"><h3>Beispiel</h3><p><code> + ScoreBoardFile /var/run/apache_status + </code></p></div> + + <p>Datei-basiertes Shared-Memory ist für Applikationen von + Drittanbietern hilfreich, die direkten Zugriff auf das Scoreboard + benötigen.</p> + + <p>Wenn Sie eine <code class="directive">ScoreBoardFile</code>-Anweisung + verwenden, erreichen Sie eventuell eine höhere Geschwindigkeit, wenn + Sie die Datei auf einer RAM-Disk ablegen. Achten Sie darauf, die + gleichen Warnungen wie über die Ablage von Protokolldateien und + <a href="../misc/security_tips.html">Sicherheit</a> zu beherzigen.</p> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../stopping.html">Apache beenden und neu + starten</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SendBufferSize" id="SendBufferSize">SendBufferSize</a>-<a name="sendbuffersize" id="sendbuffersize">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Größe des TCP-Puffers</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SendBufferSize <var>Bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>SendBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Der Server setzt die Größe des TCP-Puffers auf die + angegebene Anzahl Bytes. Dies ist sehr hilfreich, um Voreinstellungen + alter Standardbetriebssysteme für Hochgeschwindigkeitsverbindungen + mit hoher Latenzzeit anzuheben (<em>d.h.</em> 100ms oder so, wie bei + Interkontinentalverbindungen).</p> + + <p>Wird der Wert auf <code>0</code> gesetzt, dann verwendet der Server + die Voreinstellung des Betriebssystems.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerLimit" id="ServerLimit">ServerLimit</a>-<a name="serverlimit" id="serverlimit">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Obergrenze für die konfigurierbare Anzahl von + Prozessen</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerLimit <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Bei dem MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code> bestimmt die Direktive + den während der Lebensdauer des Apache-Prozesses maximal + einstellbaren Wert für <code class="directive"><a href="#maxclients">MaxClients</a></code>. Beim MPM + <code class="module"><a href="../mod/worker.html">worker</a></code> bestimmt die Direktive in Verbindung mit + <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> den Maximalwert + für <code class="directive"><a href="#maxclients">MaxClients</a></code> + für die Lebensdauer des Apache-Prozesses. Jeder Versuch, diese + Anweisung während eines Neustarts zu ändern, wird ignoriert. + <code class="directive"><a href="#maxclients">MaxClients</a></code> kann jedoch + während eines Neustarts geändert werden.</p> + + <p>Lassen Sie besondere Vorsicht bei der Verwendung dieser Direktive + walten. Wenn <code class="directive">ServerLimit</code> auf einen Wert deutlich + höher als notwendig gesetzt wird, wird zusätzliches, + unbenutztes Shared-Memory belegt. Wenn sowohl + <code class="directive">ServerLimit</code> als auch <code class="directive"><a href="#maxclients">MaxClients</a></code> auf Werte gesetzt werden, die + größer sind, als das System sie handhaben kann, dann kann + der Apache möglicherweise nicht starten, oder das System kann + instabil werden.</p> + + <p>Verwenden Sie die Direktive bei dem MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code> + nur, wenn Sie <code class="directive"><a href="#maxclients">MaxClients</a></code> + auf mehr als 256 (Voreinstellung) setzen müssen. Setzen Sie den + Wert nicht höher als den Wert, den Sie für <code class="directive"><a href="#maxclients">MaxClients</a></code> angeben möchten.</p> + + <p>Verwenden Sie die Direktive bei <code class="module"><a href="../mod/worker.html">worker</a></code>, + <code class="module"><a href="../mod/leader.html">leader</a></code> und <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> nur, wenn Ihre + <code class="directive"><a href="#maxclients">MaxClients</a></code>- und + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>-Einstellungen + mehr als 16 Serverprozesse (Voreinstellung) erfordern. Setzen Sie den + Wert dieser Direktive nicht höher, als die Anzahl der Serverprozesse, + die dafür erforderlich ist, was Sie bei <code class="directive"><a href="#maxclients">MaxClients</a></code> und + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> angeben + möchten.</p> + + <p>Verwenden Sie die Direktive beim MPM <code class="module"><a href="../mod/perchild.html">perchild</a></code> nur, + wenn Sie <code class="directive"><a href="../mod/perchild.html#numservers">NumServers</a></code> auf einen + Wert größer als 8 (Voreinstellung) setzen müssen.</p> + + <div class="note"><h3>Anmerkung</h3> + <p>Eine feste Begrenzung von <code>ServerLimit 20000</code> ist in den + Server einkompiliert (bei dem MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code> 200000). + Dies soll unangenehme Effekte durch Tippfehler verhindern.</p> + </div> + +<h3>Siehe auch</h3> +<ul> +<li><a href="../stopping.html">Apache beenden und neu + starten</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StartServers" id="StartServers">StartServers</a>-<a name="startservers" id="startservers">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Anzahl der Kindprozesse des Servers, die beim Start erstellt + werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>StartServers <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Die Direktive <code class="directive">StartServers</code> bestimmt + die Anzahl der Kindprozesse des Servers, die beim Start erstellt + werden. Da die Anzahl der Prozesse abhängig von der Last + dynamisch kontrolliert wird, besteht normalerweise wenig + Grund für eine Änderung dieses Parameters.</p> + + <p>Die Voreinstellung unterscheidet sich von MPM zu MPM. Bei + <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> und + <code class="module"><a href="../mod/worker.html">worker</a></code> ist die Voreinstellung + <code>StartServers 3</code>. Die Voreinstellung bei + <code class="module"><a href="../mod/prefork.html">prefork</a></code> ist <code>5</code> und bei + <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> <code>2</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StartThreads" id="StartThreads">StartThreads</a>-<a name="startthreads" id="startthreads">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Anzahl der Threads, die beim Start erstellt werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>StartThreads <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code></td></tr> +</table> + <p>Anzahl der Threads, die beim Start erstellt werden. Da die Anzahl + der Threads abhängig von der Last dynamisch kontrolliert wird, + besteht normalerweise wenig Grund für eine Änderung + dieses Parameters.</p> + + <p>Die Voreinstellung für <code class="module"><a href="../mod/perchild.html">perchild</a></code> ist + <code>StartThreads 5</code>. Die Direktive setzt während des + Starts die Anzahl der Threads pro Prozess.</p> + + <p>Die Voreinstellung bei <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> ist + <code>StartThreads 50</code>. Da hier lediglich ein einzelner Prozess + existiert, ist dies die Gesamtzahl der Threads, die beim Start + erstellt wird, um Anfragen zu bedienen.</p> + + <p>Die Voreinstellung für <code class="module"><a href="../mod/beos.html">beos</a></code> ist <code>StartThreads + 10</code>. Die Einstellung reflektiert ebenfalls die Gesamtzahl der Threads, die + beim Start erstellt werden, um Anfragen zu bedienen.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadLimit" id="ThreadLimit">ThreadLimit</a>-<a name="threadlimit" id="threadlimit">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Bestimmt die Obergrenze der konfigurierbaren Anzahl von Threads + pro Kindprozess</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ThreadLimit <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar für <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> ab + Apache 2.0.41</td></tr> +</table> + <p>Die Direktive bestimmt den während der Lebensdauer des + Apache-Prozesses maximal einstellbaren Wert für + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>. Jeder + Versuch, diese Direktive während eines Neustarts zu ändern, + wird ignoriert. <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + kann jedoch während eines Neustarts modifiziert werden bis zu dem + Wert dieser Anweisung.</p> + + <p>Lassen Sie besondere Vorsicht bei der Verwendung dieser Direktive + walten. Wenn <code class="directive">ThreadLimit</code> auf einen Wert + deutlich höher als <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> gesetzt wird, wird + zusätzliches, ungenutztes Shared-Memory belegt. Wenn sowohl + <code class="directive">ThreadLimit</code> als auch <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> auf Werte gesetzt werden, + die größer sind, als das System sie handhaben kann, dann kann + der Apache möglicherweise nicht starten oder das System kann + instabil werden. Setzen Sie den Wert dieser Direktive nicht höher + als Ihre größte erwartete Einstellung für + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + während der aktuellen Ausführung des Apache.</p> + + <p>Die Voreinstellung für <code class="directive">ThreadLimit</code> ist + <code>1920</code> wenn sie zusammen mit <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> + verwendet wird, und <code>64</code> bei der Verwendung mit anderen + MPMs.</p> + + <div class="note"><h3>Anmerkung</h3> + <p>Eine feste Begrenzung von <code>ThreadLimit 20000</code> + (oder <code>ThreadLimit 15000</code> bei <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>) + ist in den Server einkompiliert. Dies soll unangenehme Effekte durch + Tippfehler verhindern.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadsPerChild" id="ThreadsPerChild">ThreadsPerChild</a>-<a name="threadsperchild" id="threadsperchild">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Anzahl der Threads, die mit jedem Kindprozess gestartet + werden</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ThreadsPerChild <var>Anzahl</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>Für Details siehe Beschreibung</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Die Direktive legt die Anzahl der Threads fest, die mit jedem + Kindprozess gestartet werden. Der Kindprozess erstellt diese Threads + beim Start und erstellt später keine weiteren mehr. Wenn Sie ein + MPM wie <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> verwenden, wo nur ein + Kindprozess existiert, dann sollte diese Angabe hoch genug sein, + die gesamte Last des Servers zu bewältigen. Wenn Sie ein MPM + wie <code class="module"><a href="../mod/worker.html">worker</a></code> verwenden, wo mehrere Kindprozesse + existieren, dann sollte die <em>Gesamt</em>zahl der Thread groß + genug sein, die übliche Last auf dem Server zu bewältigen.</p> + + <p>Die Voreinstellung für <code class="directive">ThreadsPerChild</code> ist + <code>64</code>, wenn <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> verwendet wird, und + <code>25</code> bei der Verwendung der anderen MPMs.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadStackSize" id="ThreadStackSize">ThreadStackSize</a>-<a name="threadstacksize" id="threadstacksize">Direktive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Die Größe des Stacks in Bytes, der von Threads +verwendet wird, die Client-Verbindungen bearbeiten.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ThreadStackSize <var>size</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>65536 unter NetWare; variiert bei anderen Betriebssystemen.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Kompatibilität:</a></th><td>Verfügbar seit Version 2.1</td></tr> +</table> + <p>Die Direktive <code class="directive">ThreadStackSize</code> legt die + Größe des Stacks (für Autodaten) der Threads fest, die + Client-Verbindungen bearbeiten und Module aufrufen, welche bei der + Verarbeitung dieser Verbindungen helfen. In den meisten Fällen ist die + Voreinstellung des Betriebssystems angemessen, doch unter bestimmten + Umständen kann es sinnvoll sein, den Wert anzupassen:</p> + + <ul> + <li>Auf Plattformen mit einer relativ kleinen Voreingestellung für + die Größe des Thread-Stacks (z.B. HP-UX) kann der Apache bei + der Verwendung einiger Drittanbietermodule, die einen relativ hohen Bedarf + an Speicherplatz haben, abstürzen. Ebendiese Module arbeiten + möglicherweise problemlos auf anderen Plattformen, wo der + voreingestellte Thread-Stack größer ist. Derartige + Abstürze können Sie vermeiden, indem Sie + <code class="directive">ThreadStackSize</code> auf einen höheren Wert als die + Betriebssystemvoreinstellung setzen. Eine solche Anpassung ist nur + notwendig, wenn es vom Anbieter des Moduls so spezifiziert wurde oder die + Diagnose eines Apache-Absturzes ergeben hat, das die + Thread-Stackgröße zu klein war.</li> + + <li>Auf Plattformen, wo die voreingestellte Thread-Stackgröße + für die Webserverkonfiguration deutlich größer als + notwendig ist, kann eine größere Anzahl von Threads pro + Kindprozess erreicht werden, wenn <code class="directive">ThreadStackSize</code> + auf einen Wert kleiner als die Betriebssystemvoreinstellung gesetzt wird. + Da es einzelne Anfragen geben kann, die mehr Stack zur Verarbeitung + benötigen, sollte eine derartige Korrektur ausschließlich in + Testumgebungen zum Einsatz kommen, auf denen die gesamte + Webserververarbeitung ausprobiert werden kann. Eine Änderung der + Webserverkonfiguration kann den aktuellen Wert der + <code class="directive">ThreadStackSize</code> ungültig machen.</li> + </ul> + +</div> +</div> +<div class="bottomlang"> +<p><span>Verfügbare Sprachen: </span><a href="../de/mod/mpm_common.html" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Kommentare</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpm_common.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Lizenziert unter der <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Module</a> | <a href="../mod/directives.html">Direktiven</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossar</a> | <a href="../sitemap.html">Seitenindex</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mpm_common.html.en b/docs/manual/mod/mpm_common.html.en new file mode 100644 index 0000000..0c12f55 --- /dev/null +++ b/docs/manual/mod/mpm_common.html.en @@ -0,0 +1,891 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mpm_common - Apache HTTP Server Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM Common Directives</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>A collection of directives that are implemented by +more than one multi-processing module (MPM)</td></tr> +<tr><th><a href="module-dict.html#Status">Status:</a></th><td>MPM</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listen">Listen</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listenbacklog">ListenBackLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#pidfile">PidFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startservers">StartServers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startthreads">StartThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadstacksize">ThreadStackSize</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_common">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_common">Report a bug</a></li></ul><h3>See also</h3> +<ul class="seealso"> +<li><a href="#comments_section">Comments</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CoreDumpDirectory" id="CoreDumpDirectory">CoreDumpDirectory</a> <a name="coredumpdirectory" id="coredumpdirectory">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directory where Apache HTTP Server attempts to +switch before dumping core</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>CoreDumpDirectory <var>directory</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for the default setting</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>This controls the directory to which Apache httpd attempts to + switch before dumping core. If your operating system is configured to + create core files in the working directory of the crashing process, + <code class="directive">CoreDumpDirectory</code> is necessary to change working + directory from the default <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> + directory, which should not be writable by the user the server runs as.</p> + + <p>If you want a core dump for debugging, you can use this directive to + place it in a different location. This directive has no effect if your + operating system is not configured to write core files to the working directory + of the crashing processes.</p> + + <div class="warning"> + <h3>Security note for Linux systems</h3> + + <p>Using this directive on Linux may allow other processes on + the system (if running with similar privileges, such as CGI + scripts) to attach to httpd children via the <code>ptrace</code> + system call. This may make weaken the protection from certain + security attacks. It is not recommended to use this directive + on production systems.</p> + </div> + + <div class="note"><h3>Core Dumps on Linux</h3> + <p>If Apache httpd starts as root and switches to another user, the + Linux kernel <em>disables</em> core dumps even if the directory is + writable for the process. Apache httpd (2.0.46 and later) reenables core dumps + on Linux 2.4 and beyond, but only if you explicitly configure a <code class="directive">CoreDumpDirectory</code>.</p> + </div> + + <div class="note"> + <h3>Core Dumps on BSD</h3> + <p>To enable core-dumping of suid-executables on BSD-systems (such + as FreeBSD), set <code>kern.sugid_coredump</code> to 1. + </p> + </div> + + <div class="note"><h3>Specific signals</h3> + <p><code class="directive">CoreDumpDirectory</code> processing only occurs for + a select set of fatal signals: SIGFPE, SIGILL, SIGABORT, + SIGSEGV, and SIGBUS.</p> + <p>On some operating systems, SIGQUIT also results in a core dump but + does not go through <code class="directive">CoreDumpDirectory</code> or + <code class="directive">EnableExceptionHook</code> processing, so the core + location is dictated entirely by the operating system.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableExceptionHook" id="EnableExceptionHook">EnableExceptionHook</a> <a name="enableexceptionhook" id="enableexceptionhook">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enables a hook that runs exception handlers +after a crash</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>EnableExceptionHook On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>EnableExceptionHook Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>For safety reasons this directive is only available if the server was + configured with the <code>--enable-exception-hook</code> option. It + enables a hook that allows external modules to plug in and do something + after a child crashed.</p> + + <p>There are already two modules, <code>mod_whatkilledus</code> and + <code>mod_backtrace</code> that make use of this hook. Please have a + look at Jeff Trawick's <a href="https://emptyhammock.com/projects/httpd/diag/">EnableExceptionHook site</a> for more information about these.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="GracefulShutdownTimeout" id="GracefulShutdownTimeout">GracefulShutdownTimeout</a> <a name="gracefulshutdowntimeout" id="gracefulshutdowntimeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Specify a timeout after which a gracefully shutdown server +will exit.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>GracefulShutdownTimeout <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>GracefulShutdownTimeout 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in version 2.2 and later</td></tr> +</table> + <p>The <code class="directive">GracefulShutdownTimeout</code> specifies + how many seconds after receiving a "graceful-stop" signal, a + server should continue to run, handling the existing connections.</p> + + <p>Setting this value to zero means that the server will wait + indefinitely until all remaining requests have been fully served.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Listen" id="Listen">Listen</a> <a name="listen" id="listen">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>IP addresses and ports that the server +listens to</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>Listen [<var>IP-address</var>:]<var>portnumber</var> [<var>protocol</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>The <var>protocol</var> argument was added in 2.1.5</td></tr> +</table> + <p>The <code class="directive">Listen</code> directive instructs Apache httpd to + listen to only specific IP addresses or ports; by default it + responds to requests on all IP interfaces. <code class="directive">Listen</code> + is now a required directive. If it is not in the config file, the + server will fail to start. This is a change from previous versions + of Apache httpd.</p> + + <p>The <code class="directive">Listen</code> directive tells the server to + accept incoming requests on the specified port or address-and-port + combination. If only a port number is specified, the server listens to + the given port on all interfaces. If an IP address is given as well + as a port, the server will listen on the given port and + interface.</p> + + <p>Multiple <code class="directive">Listen</code> directives may be used to + specify a number of addresses and ports to listen to. The server will + respond to requests from any of the listed addresses and ports.</p> + + <p>For example, to make the server accept connections on both + port 80 and port 8000, use:</p> + + <pre class="prettyprint lang-config">Listen 80 +Listen 8000</pre> + + + <p>To make the server accept connections on two specified + interfaces and port numbers, use </p> + + <pre class="prettyprint lang-config">Listen 192.170.2.1:80 +Listen 192.170.2.5:8000</pre> + + + <p>IPv6 addresses must be surrounded in square brackets, as in the + following example:</p> + + <pre class="prettyprint lang-config">Listen [2001:db8::a00:20ff:fea7:ccea]:80</pre> + + + <p>The optional <var>protocol</var> argument is not required for most + configurations. If not specified, <code>https</code> is the default for + port 443 and <code>http</code> the default for all other ports. The + protocol is used to determine which module should handle a request, and + to apply protocol specific optimizations with the + <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code> directive.</p> + + <p>You only need to set the protocol if you are running on non-standard + ports. For example, running an <code>https</code> site on port 8443:</p> + + <pre class="prettyprint lang-config">Listen 192.170.2.1:8443 https</pre> + + + <div class="note"><h3>Error condition</h3> + Multiple <code class="directive">Listen</code> directives for the same ip + address and port will result in an <code>Address already in use</code> + error message. + </div> + + +<h3>See also</h3> +<ul> +<li><a href="../dns-caveats.html">DNS Issues</a></li> +<li><a href="../bind.html">Setting which addresses and ports Apache HTTP Server + uses</a></li> +<li><a href="http://wiki.apache.org/httpd/CouldNotBindToAddress">Further +discussion of the <code>Address already in use</code> error message, +including other causes.</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ListenBackLog" id="ListenBackLog">ListenBackLog</a> <a name="listenbacklog" id="listenbacklog">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum length of the queue of pending connections</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ListenBackLog <var>backlog</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ListenBackLog 511</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>The maximum length of the queue of pending connections. + Generally no tuning is needed or desired; however on some + systems, it is desirable to increase this when under a TCP SYN + flood attack. See the backlog parameter to the + <code>listen(2)</code> system call.</p> + + <p>This will often be limited to a smaller number by the + operating system. This varies from OS to OS. Also note that + many OSes do not use exactly what is specified as the backlog, + but use a number based on (but normally larger than) what is + set.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ListenCoresBucketsRatio" id="ListenCoresBucketsRatio">ListenCoresBucketsRatio</a> <a name="listencoresbucketsratio" id="listencoresbucketsratio">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ratio between the number of CPU cores (online) and the number of +listeners' buckets</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ListenCoresBucketsRatio <var>ratio</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ListenCoresBucketsRatio 0 (disabled)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.4.17, with a kernel supporting +the socket option <code>SO_REUSEPORT</code> and distributing new connections +evenly across listening processes' (or threads') sockets using it (eg. Linux +3.9 and later, but not the current implementations of <code>SO_REUSEPORT</code> +in *BSDs.</td></tr> +</table> + <p>A <var>ratio</var> between the number of (online) CPU cores and the + number of listeners' buckets can be used to make Apache HTTP Server create + <code>num_cpu_cores / ratio</code> listening buckets, each containing its + own <code class="directive"><a href="#listen">Listen</a></code>-ing socket(s) on the same port(s), and + then make each child handle a single bucket (with round-robin distribution + of the buckets at children creation time).</p> + + <div class="note"><h3>Meaning of "online" CPU core</h3> + <p>On Linux (and also BSD) a CPU core can be turned on/off if + <a href="https://www.kernel.org/doc/Documentation/cpu-hotplug.txt">Hotplug</a> + is configured, therefore <code class="directive">ListenCoresBucketsRatio</code> needs to + take this parameter into account while calculating the number of buckets to create.</p> + </div> + + <p><code class="directive">ListenCoresBucketsRatio</code> can improve the + scalability when accepting new connections is/becomes the bottleneck. + On systems with a large number of CPU cores, enabling this feature has + been tested to show significant performances improvement and shorter + responses time.</p> + + <p>There must be at least twice the number of CPU cores than the + configured <var>ratio</var> for this to be active. The recommended + <var>ratio</var> is <code>8</code>, hence at least <code>16</code> + cores should be available at runtime when this value is used. + The right <var>ratio</var> to obtain maximum performance needs to be calculated + for each target system, testing multiple values and observing the variations in your + key performance metrics.</p> + + <p>This directive influences the calculation of the + <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> and + <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code> lower bound values. + The number of children processes needs to be a multiple of the number + of buckets to optimally accept connections.</p> + + <div class="note"> + <h3>Multiple <code class="directive">Listen</code>ers or Apache HTTP servers on + the same IP address and port</h3> + <p>Setting the <code>SO_REUSEPORT</code> option on the listening socket(s) + consequently allows multiple processes (sharing the same <code>EUID</code>, + e.g. <code>root</code>) to bind to the the same IP address and port, + without the binding error raised by the system in the usual case.</p> + <p>This also means that multiple instances of Apache httpd configured on a + same <code>IP:port</code> and with a positive <code class="directive">ListenCoresBucketsRatio</code> + would start without an error too, and then run with incoming connections + evenly distributed across both instances (this is NOT a recommendation or + a sensible usage in any case, but just a notice that it would prevent such + possible issues to be detected).</p> + <p>Within the same instance, Apache httpd will check and fail to start if + multiple <code class="directive">Listen</code> directives on the exact same IP (or + hostname) and port are configured, thus avoiding the creation of some + duplicated buckets which would be useless and kill performances. However + it can't (and won't try harder to) catch all the possible overlapping cases + (like a hostname resolving to an IP used elsewhere).</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxConnectionsPerChild" id="MaxConnectionsPerChild">MaxConnectionsPerChild</a> <a name="maxconnectionsperchild" id="maxconnectionsperchild">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limit on the number of connections that an individual child server +will handle during its life</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxConnectionsPerChild <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MaxConnectionsPerChild 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available Apache HTTP Server 2.3.9 and later. The old name +<code>MaxRequestsPerChild</code> is still supported.</td></tr> +</table> + <p>The <code class="directive">MaxConnectionsPerChild</code> directive sets + the limit on the number of connections that an individual child + server process will handle. After + <code class="directive">MaxConnectionsPerChild</code> connections, the child + process will die. If <code class="directive">MaxConnectionsPerChild</code> is + <code>0</code>, then the process will never expire.</p> + + <p>Setting <code class="directive">MaxConnectionsPerChild</code> to a + non-zero value limits the amount of memory that a process can consume + by (accidental) memory leakage.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxMemFree" id="MaxMemFree">MaxMemFree</a> <a name="maxmemfree" id="maxmemfree">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum amount of memory that the main allocator is allowed +to hold without calling <code>free()</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxMemFree <var>KBytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>MaxMemFree 2048</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code></td></tr> +</table> + <p>The <code class="directive">MaxMemFree</code> directive sets the + maximum number of free Kbytes that every allocator is allowed + to hold without calling <code>free()</code>. In threaded MPMs, every + thread has its own allocator. When set + to zero, the threshold will be set to unlimited.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRequestWorkers" id="MaxRequestWorkers">MaxRequestWorkers</a> <a name="maxrequestworkers" id="maxrequestworkers">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of connections that will be processed +simultaneously</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxRequestWorkers <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>The <code class="directive">MaxRequestWorkers</code> directive sets the limit + on the number of simultaneous requests that will be served. Any + connection attempts over the <code class="directive">MaxRequestWorkers</code> + limit will normally be queued, up to a number based on the + <code class="directive"><a href="#listenbacklog">ListenBacklog</a></code> + directive. Once a child process is freed at the end of a different + request, the connection will then be serviced.</p> + + <p>For non-threaded servers (<em>i.e.</em>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>), + <code class="directive">MaxRequestWorkers</code> translates into the maximum + number of child processes that will be launched to serve requests. + The default value is <code>256</code>; to increase it, you must also raise + <code class="directive"><a href="#serverlimit">ServerLimit</a></code>.</p> + + <p>For threaded and hybrid servers (<em>e.g.</em> <code class="module"><a href="../mod/event.html">event</a></code> + or <code class="module"><a href="../mod/worker.html">worker</a></code>), <code class="directive">MaxRequestWorkers</code> restricts + the total number of threads that will be available to serve clients. + For hybrid MPMs, the default value is <code>16</code> (<code class="directive"><a href="#serverlimit">ServerLimit</a></code>) multiplied by the value of + <code>25</code> (<code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>). Therefore, to increase <code class="directive">MaxRequestWorkers</code> to a value that requires more than 16 processes, + you must also raise <code class="directive"><a href="#serverlimit">ServerLimit</a></code>.</p> + + <p><code class="directive">MaxRequestWorkers</code> was called + <code class="directive">MaxClients</code> before version 2.3.13. The old name is still + supported.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxSpareThreads" id="MaxSpareThreads">MaxSpareThreads</a> <a name="maxsparethreads" id="maxsparethreads">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maximum number of idle threads</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MaxSpareThreads <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>Maximum number of idle threads. Different MPMs deal with this + directive differently.</p> + + <p>For <code class="module"><a href="../mod/worker.html">worker</a></code> and <code class="module"><a href="../mod/event.html">event</a></code>, the default is + <code>MaxSpareThreads 250</code>. These MPMs deal with idle threads + on a server-wide basis. If there are too many idle threads in the + server, then child processes are killed until the number of idle + threads is less than this number. Additional processes/threads + might be created if <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> + is enabled.</p> + + <p>For <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> the default is + <code>MaxSpareThreads 100</code>. Since this MPM runs a + single-process, the spare thread count is also server-wide.</p> + + <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> works + similar to <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>. For + <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> the default value is <code>10</code>.</p> + + <div class="note"><h3>Restrictions</h3> + <p>The range of the <code class="directive">MaxSpareThreads</code> value + is restricted. Apache httpd will correct the given value automatically + according to the following rules:</p> + <ul> + <li><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> wants the value to be greater than + <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>.</li> + + <li>For <code class="module"><a href="../mod/worker.html">worker</a></code> and <code class="module"><a href="../mod/event.html">event</a></code>, the value + must be greater or equal to the sum of <code class="directive"><a href="#minsparethreads"> + MinSpareThreads</a></code> and <code class="directive"><a href="#threadsperchild"> + ThreadsPerChild</a></code>.</li> + </ul> + </div> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +<li><code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MinSpareThreads" id="MinSpareThreads">MinSpareThreads</a> <a name="minsparethreads" id="minsparethreads">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Minimum number of idle threads available to handle request +spikes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>MinSpareThreads <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>Minimum number of idle threads to handle request spikes. + Different MPMs deal with this directive differently.</p> + + <p><code class="module"><a href="../mod/worker.html">worker</a></code> and <code class="module"><a href="../mod/event.html">event</a></code> use a default of + <code>MinSpareThreads 75</code> and deal with idle threads on a server-wide + basis. If there aren't enough idle threads in the server, then child + processes are created until the number of idle threads is greater + than <var>number</var>. Additional processes/threads + might be created if <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> + is enabled.</p> + + <p><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> uses a default of + <code>MinSpareThreads 10</code> and, since it is a single-process + MPM, tracks this on a server-wide basis.</p> + + <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> works + similar to <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>. For + <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> the default value is <code>5</code>.</p> + +<h3>See also</h3> +<ul> +<li><code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +<li><code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="PidFile" id="PidFile">PidFile</a> <a name="pidfile" id="pidfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>File where the server records the process ID +of the daemon</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>PidFile <var>filename</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>PidFile logs/httpd.pid</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>The <code class="directive">PidFile</code> directive sets the file to + which the server records the process id of the daemon. If the + filename is not absolute, then it is assumed to be relative to the + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">PidFile /var/run/apache.pid</pre> +</div> + + <p>It is often useful to be able to send the server a signal, + so that it closes and then re-opens its <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code> and <code class="directive"><a href="../mod/mod_log_config.html#transferlog">TransferLog</a></code>, and + re-reads its configuration files. This is done by sending a + SIGHUP (kill -1) signal to the process id listed in the + <code class="directive">PidFile</code>.</p> + + <p>The <code class="directive">PidFile</code> is subject to the same + warnings about log file placement and <a href="../misc/security_tips.html#serverroot">security</a>.</p> + + <div class="note"><h3>Note</h3> + <p>As of Apache HTTP Server 2, we recommended that you only use the <code class="program"><a href="../programs/apachectl.html">apachectl</a></code> script, or the init script that your OS provides, + for (re-)starting or stopping the server.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ReceiveBufferSize" id="ReceiveBufferSize">ReceiveBufferSize</a> <a name="receivebuffersize" id="receivebuffersize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>TCP receive buffer size</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ReceiveBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ReceiveBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>The server will set the TCP receive buffer size to the number of + bytes specified.</p> + + <p>If set to the value of <code>0</code>, the server will use the + OS default.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScoreBoardFile" id="ScoreBoardFile">ScoreBoardFile</a> <a name="scoreboardfile" id="scoreboardfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Location of the file used to store coordination data for +the child processes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ScoreBoardFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>ScoreBoardFile logs/apache_runtime_status</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>Apache HTTP Server uses a scoreboard to communicate between its parent + and child processes. Some architectures require a file to facilitate + this communication. If the file is left unspecified, Apache httpd first + attempts to create the scoreboard entirely in memory (using anonymous + shared memory) and, failing that, will attempt to create the file on + disk (using file-based shared memory). Specifying this directive causes + Apache httpd to always create the file on the disk.</p> + + <div class="example"><h3>Example</h3><pre class="prettyprint lang-config">ScoreBoardFile /var/run/apache_runtime_status</pre> +</div> + + <p>File-based shared memory is useful for third-party applications + that require direct access to the scoreboard.</p> + + <p>If you use a <code class="directive">ScoreBoardFile</code>, then + you may see improved speed by placing it on a RAM disk. But be + careful that you heed the same warnings about log file placement + and <a href="../misc/security_tips.html">security</a>.</p> + +<h3>See also</h3> +<ul> +<li><a href="../stopping.html">Stopping and Restarting +Apache HTTP Server</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SendBufferSize" id="SendBufferSize">SendBufferSize</a> <a name="sendbuffersize" id="sendbuffersize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>TCP buffer size</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>SendBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>SendBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>Sets the server's TCP send buffer size to the number of bytes + specified. It is often useful to set this past the OS's standard + default value on high speed, high latency connections + (<em>i.e.</em>, 100ms or so, such as transcontinental fast pipes).</p> + + <p>If set to the value of <code>0</code>, the server will use the + default value provided by your OS.</p> + + <p>Further configuration of your operating system may be required to elicit + better performance on high speed, high latency connections.</p> + + <div class="note"> <p> On some operating systems, changes in TCP behavior resulting + from a larger <code class="directive">SendBufferSize</code> may not be seen unless + <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code> is set to OFF. This + interaction applies only to static files.</p> </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerLimit" id="ServerLimit">ServerLimit</a> <a name="serverlimit" id="serverlimit">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Upper limit on configurable number of processes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ServerLimit <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>For the <code class="module"><a href="../mod/prefork.html">prefork</a></code> MPM, this directive sets the + maximum configured value for <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> for the lifetime of the + Apache httpd process. For the <code class="module"><a href="../mod/worker.html">worker</a></code> and <code class="module"><a href="../mod/event.html">event + </a></code> MPMs, this directive in combination with <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> sets + the maximum configured value for <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> for the lifetime of the + Apache httpd process. For the <code class="module"><a href="../mod/event.html">event</a></code> MPM, this directive + also defines how many old server processes may keep running and finish processing + open connections. + Any attempts to change this directive during a restart will be ignored, but + <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> can be modified + during a restart.</p> + + <p>Special care must be taken when using this directive. If + <code class="directive">ServerLimit</code> is set to a value much higher + than necessary, extra, unused shared memory will be allocated. If + both <code class="directive">ServerLimit</code> and <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> are set to values + higher than the system can handle, Apache httpd may not start or the + system may become unstable.</p> + + <p>With the <code class="module"><a href="../mod/prefork.html">prefork</a></code> MPM, use this directive only + if you need to set <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> higher than 256 (default). + Do not set the value of this directive any higher than what you + might want to set <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> to.</p> + + <p>With <code class="module"><a href="../mod/worker.html">worker</a></code>, use this directive only if your + <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers + </a></code> and <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + settings require more than 16 server processes (default). Do not set + the value of this directive any higher than the number of server + processes required by what you may want for <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers </a></code> and <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>.</p> + + <p>With <code class="module"><a href="../mod/event.html">event</a></code>, increase this directive if the process + number defined by your <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> and <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> settings, plus the + number of gracefully shutting down processes, is more than 16 server + processes (default).</p> + + <div class="note"><h3>Note</h3> + <p>There is a hard limit of <code>ServerLimit 20000</code> compiled + into the server (for the <code class="module"><a href="../mod/prefork.html">prefork</a></code> MPM 200000). This is + intended to avoid nasty effects caused by typos. To increase it + even further past this limit, you will need to modify the value of + MAX_SERVER_LIMIT in the mpm source file and rebuild the server.</p> + </div> + +<h3>See also</h3> +<ul> +<li><a href="../stopping.html">Stopping and Restarting Apache HTTP Server</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StartServers" id="StartServers">StartServers</a> <a name="startservers" id="startservers">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Number of child server processes created at startup</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>StartServers <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>The <code class="directive">StartServers</code> directive sets the + number of child server processes created on startup. As the number + of processes is dynamically controlled depending on the load, (see + <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>, + <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>, + <code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code>, <code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code>) + there is usually little reason to adjust this parameter.</p> + + <p>The default value differs from MPM to MPM. <code class="module"><a href="../mod/worker.html">worker</a></code> and + <code class="module"><a href="../mod/event.html">event</a></code> default to <code>StartServers 3</code>; <code class="module"><a href="../mod/prefork.html"> + prefork</a></code> defaults to <code>5</code>; <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> + defaults to <code>2</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StartThreads" id="StartThreads">StartThreads</a> <a name="startthreads" id="startthreads">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Number of threads created on startup</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>StartThreads <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code></td></tr> +</table> + <p>Number of threads created on startup. As the + number of threads is dynamically controlled depending on the + load, (see + <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>, + <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>, + <code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code>, <code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code>) + there is usually little reason to adjust this + parameter.</p> + + <p>For <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> the default is + <code>StartThreads 50</code> and, since there is only a single + process, this is the total number of threads created at startup to + serve requests.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadLimit" id="ThreadLimit">ThreadLimit</a> <a name="threadlimit" id="threadlimit">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sets the upper limit on the configurable number of threads +per child process</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ThreadLimit <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>This directive sets the maximum configured value for <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> for the lifetime + of the Apache httpd process. Any attempts to change this directive + during a restart will be ignored, but <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> can be modified + during a restart up to the value of this directive.</p> + + <p>Special care must be taken when using this directive. If + <code class="directive">ThreadLimit</code> is set to a value much higher + than <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>, + extra unused shared memory will be allocated. If both + <code class="directive">ThreadLimit</code> and <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> are set to values + higher than the system can handle, Apache httpd may not start or the + system may become unstable. Do not set the value of this directive + any higher than your greatest predicted setting of <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> for the + current run of Apache httpd.</p> + + <p>The default value for <code class="directive">ThreadLimit</code> is + <code>1920</code> when used with <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> and + <code>64</code> when used with the others.</p> + + <div class="note"><h3>Note</h3> + <p>There is a hard limit of <code>ThreadLimit 20000</code> (or + <code>ThreadLimit 100000</code> with <code class="module"><a href="../mod/event.html">event</a></code>, + <code>ThreadLimit 15000</code> with <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>) + compiled into the server. This is intended to avoid nasty effects + caused by typos. To increase it even further past this limit, you + will need to modify the value of MAX_THREAD_LIMIT in the mpm + source file and rebuild the server.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadsPerChild" id="ThreadsPerChild">ThreadsPerChild</a> <a name="threadsperchild" id="threadsperchild">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Number of threads created by each child process</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ThreadsPerChild <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>This directive sets the number of threads created by each + child process. The child creates these threads at startup and + never creates more. If using an MPM like <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, + where there is only one child process, this number should be high + enough to handle the entire load of the server. If using an MPM + like <code class="module"><a href="../mod/worker.html">worker</a></code>, where there are multiple child processes, + the <em>total</em> number of threads should be high enough to handle + the common load on the server.</p> + + <p>The default value for <code class="directive">ThreadsPerChild</code> is + <code>64</code> when used with <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> and + <code>25</code> when used with the others.</p> + + <p>The value of <code class="directive">ThreadsPerChild</code> can not exceed the + value of <code class="directive"><a href="#threadlimit">ThreadLimit</a></code>. If a + higher value is configured, it will be automatically reduced at start-up + and a warning will be logged. The relationship between these 2 directives + is explained in <code class="directive"><a href="#threadlimit">ThreadLimit</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadStackSize" id="ThreadStackSize">ThreadStackSize</a> <a name="threadstacksize" id="threadstacksize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>The size in bytes of the stack used by threads handling +client connections</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ThreadStackSize <var>size</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>65536 on NetWare; varies on other operating systems</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr> +<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Available in Apache HTTP Server 2.1 and later</td></tr> +</table> + <p>The <code class="directive">ThreadStackSize</code> directive sets the + size of the stack (for autodata) of threads which handle client + connections and call modules to help process those connections. + In most cases the operating system default for stack size is + reasonable, but there are some conditions where it may need to be + adjusted:</p> + + <ul> + <li>On platforms with a relatively small default thread stack size + (e.g., HP-UX), Apache httpd may crash when using some third-party modules + which use a relatively large amount of autodata storage. Those + same modules may have worked fine on other platforms where the + default thread stack size is larger. This type of crash is + resolved by setting <code class="directive">ThreadStackSize</code> to a + value higher than the operating system default. This type of + adjustment is necessary only if the provider of the third-party + module specifies that it is required, or if diagnosis of an Apache httpd + crash indicates that the thread stack size was too small.</li> + + <li>On platforms where the default thread stack size is + significantly larger than necessary for the web server + configuration, a higher number of threads per child process + will be achievable if <code class="directive">ThreadStackSize</code> is + set to a value lower than the operating system default. This type + of adjustment should only be made in a test environment which allows + the full set of web server processing to be exercised, as there + may be infrequent requests which require more stack to process. + The minimum required stack size strongly depends on the modules + used, but any change in the web server configuration can invalidate + the current <code class="directive">ThreadStackSize</code> setting.</li> + + <li>On Linux, this directive can only be used to increase the default + stack size, as the underlying system call uses the value as a + <em>minimum</em> stack size. The (often large) soft limit for + <code>ulimit -s</code> (8MB if unlimited) is used as the default stack + size.</li> + </ul> + + <div class="note">It is recommended to not reduce <code class="directive">ThreadStackSize</code> + unless a high number of threads per child process is needed. On some + platforms (including Linux), a setting of 128000 is already too low and + causes crashes with some common modules.</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpm_common.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mpm_common.html.fr.utf8 b/docs/manual/mod/mpm_common.html.fr.utf8 new file mode 100644 index 0000000..fbbc811 --- /dev/null +++ b/docs/manual/mod/mpm_common.html.fr.utf8 @@ -0,0 +1,975 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mpm_common - Serveur HTTP Apache Version 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur HTTP Apache Version 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM : Directives Communes</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Une série de directives implémentées par plusieurs +modules multi-processus (MPM)</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listen">Listen</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listenbacklog">ListenBackLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#pidfile">PidFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startservers">StartServers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startthreads">StartThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadstacksize">ThreadStackSize</a></li> +</ul> +<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_common">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_common">Signaler un bug</a></li></ul><h3>Voir aussi</h3> +<ul class="seealso"> +<li><a href="#comments_section">Commentaires</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="coredumpdirectory" id="coredumpdirectory">Directive</a> <a name="CoreDumpDirectory" id="CoreDumpDirectory">CoreDumpDirectory</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le répertoire dans lequel le serveur HTTP Apache va tenter de se +positionner avant d'effectuer un vidage mémoire</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CoreDumpDirectory <var>répertoire</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour le répertoire par défaut</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>Cette directive permet de définir le répertoire dans lequel + Apache httpd va tenter de se positionner avant d'effectuer un vidage + mémoire sur disque. + Si votre système d'exploitation est configuré pour créer des + fichiers de vidage mémoire dans le répertoire de travail des + processus qui se sont crashés, + <code class="directive">CoreDumpDirectory</code> est nécessaire pour + définir un répertoire de travail autre que le répertoire par défaut + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>, ce répertoire de + travail ne devant pas être accessible en écriture par l'utilisateur sous + lequel le serveur s'exécute.</p> + + <p>Si vous avez besoin d'un vidage mémoire pour le débogage, vous + pouvez utiliser cette directive pour le placer à un endroit + différent. Cette directive n'a aucun effet si votre système + d'exploitation n'est pas configuré pour créer des + fichiers de vidage mémoire dans le répertoire de travail des + processus qui se sont crashés.</p> + + <div class="warning"> + <h3>Note de sécurité pour les systèmes de type Linux</h3> + + <p>Utiliser cette directive sous Linux peut permettre aux autres processus + du système s'exécutant avec les même privilèges (comme les scripts CGI) de + se rattacher aux processus httpd enfants via l'appel système + <code>ptrace</code>. La protection contre certaines attaques engageant la + sécurité peut s'en trouver affectée. Il est par conséquent déconseillé + d'utiliser cette directive sur les systèmes en production.</p> + </div> + + <div class="note"><h3>Vidages mémoire sous Linux</h3> + <p>Si Apache httpd est démarré sous l'utilisateur root puis bascule vers + un autre utilisateur, le noyau Linux <em>désactive</em> les + vidages mémoire, même si le répertoire est accessible en écriture au + processus. Apache httpd (versions 2.0.46 et supérieures) réactive les + vidages mémoire sous Linux 2.4 et au delà, mais seulement si vous + définissez une directive <code class="directive">CoreDumpDirectory</code>.</p> + </div> + + <div class="note"> + <h3>Vidages mémoire sous BSD</h3> + <p>Pour activer le vidage mémoire des exécutables suid sur les + systèmes de style BSD (comme FreeBSD), définissez + <code>kern.sugid_coredump</code> à 1. + </p> + </div> + + <div class="note"><h3>Signaux spécifiques</h3> + <p><code class="directive">CoreDumpDirectory</code> n'est traité qu'à la + reception d'un certain nombre de signaux , SIGFPE, SIGILL, SIGABORT, + SIGSEGV, et SIGBUS.</p> + <p> + Sur certains systèmes d'exploitation, SIGQUIT provoque aussi un + vidage mémoire, mais n'est pas traité par les directives + <code class="directive">CoreDumpDirectory</code> ou + <code class="directive">EnableExceptionHook</code>, si bien que la + définition du répertoire d'enregistrement du vidage mémoire est + entièrement dévolue au système d'exploitation.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="enableexceptionhook" id="enableexceptionhook">Directive</a> <a name="EnableExceptionHook" id="EnableExceptionHook">EnableExceptionHook</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active un hook ("point d'accrochage logiciel") qui exécute des +gestionnaires d'exception après un crash</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableExceptionHook On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableExceptionHook Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>Pour des raisons de sécurité, cette directive n'est disponible + que si la compilation du serveur a été configurée avec l'option + <code>--enable-exception-hook</code>. Elle permet d'activer un hook + ("point d'accrochage logiciel") + qui autorise certains modules externes à effectuer un branchement et + accomplir telle ou telle action après le crash d'un processus + enfant.</p> + + <p>Deux modules, <code>mod_whatkilledus</code> et + <code>mod_backtrace</code> utilisent ce hook. Veuillez vous + référer à la <a href="https://emptyhammock.com/projects/httpd/diag/">page EnableExceptionHook</a> de Jeff Trawick pour plus + d'informations à leur sujet.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="gracefulshutdowntimeout" id="gracefulshutdowntimeout">Directive</a> <a name="GracefulShutdownTimeout" id="GracefulShutdownTimeout">GracefulShutdownTimeout</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le délai maximum après lequel le serveur va +s'arrêter dans le cas d'un arrêt "en douceur"</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>GracefulShutdownTimeout <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>GracefulShutdownTimeout 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans les versions 2.2 et supérieures</td></tr> +</table> + <p>La directive <code class="directive">GracefulShutdownTimeout</code> + permet de spécifier le temps, en secondes, pendant lequel le serveur + va continuer à fonctionner après avoir reçu un signal + "graceful-stop" ("Arrêt en douceur"), afin de terminer le traitement + des connexions en cours.</p> + + <p>Définir cette valeur à zéro signifie au serveur d'attendre + jusqu'à ce que toutes les requêtes en cours aient été traitées.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="listen" id="listen">Directive</a> <a name="Listen" id="Listen">Listen</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les adresses IP et ports sur lesquels le serveur écoute</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Listen [<var>adresse IP</var>:]<var>numéro port</var> +[<var>protocole</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>L'argument <var>protocole</var> est supporté depuis la version +2.1.5</td></tr> +</table> + <p>La directive <code class="directive">Listen</code> permet de signifier à + Apache httpd de ne se mettre à l'écoute que sur les adresses IP et ports spécifiés ; par + défaut, le serveur répond aux requêtes en provenance de toutes les + interfaces réseau. La directive <code class="directive">Listen</code> est + dorénavant requise, et si elle est absente du fichier de + configuration, le serveur refusera de démarrer. Ceci constitue un + changement par rapport aux versions précédentes d'Apache httpd.</p> + + <p>La directive <code class="directive">Listen</code> signifie au serveur de + n'accepter les requêtes entrantes que vers le port ou le couple + adresse-port spécifié. Si seulement un port est spécifié, le serveur + se met à l'écoute sur ce port sur toutes les interfaces réseau. Si une adresse IP + et un port sont spécifiés, le serveur va se mettre à l'écoute sur ce port sur + l'interface réseau correspondant à l'adresse IP.</p> + + <p>On peut utiliser autant de directives + <code class="directive">Listen</code> que nécessaire pour spécifier + plusieurs adresses et/ou ports à écouter. Le serveur répondra aux + requêtes vers tous les adresses et ports spécifiés.</p> + + <p>Par exemple, pour que le serveur accepte les connexions sur les + ports 80 et 8000, utilisez :</p> + + <pre class="prettyprint lang-config">Listen 80 +Listen 8000</pre> + + + <p>Pour que le serveur accepte les connexions sur deux interfaces et + ports particuliers, spécifiez :</p> + + <pre class="prettyprint lang-config">Listen 192.170.2.1:80 +Listen 192.170.2.5:8000</pre> + + + <p>Les adressee IPv6 doivent être entourées de crochets, comme dans + l'exemple suivant :</p> + + <pre class="prettyprint lang-config">Listen [2001:db8::a00:20ff:fea7:ccea]:80</pre> + + + <p>L'argument optionnel <var>protocole</var> n'est pas nécessaire + dans la plupart des configurations. S'il est absent, + <code>https</code> est la valeur par défaut pour le port 443 et + <code>http</code> l'est pour tous les autres ports. L'argument + protocole sert à déterminer quel module doit traiter une requête, et + à appliquer des optimisations spécifiques à certains protocoles à + l'aide de la directive <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code>.</p> + + <p>La spécification d'un protocole n'est nécessaire que si vous + utilisez des ports non standards. Par exemple, pour configurer un + site en <code>https</code> sur le port 8443 :</p> + + <pre class="prettyprint lang-config">Listen 192.170.2.1:8443 https</pre> + + + <div class="note"><h3>Condition d'erreur</h3> + Plusieurs directives <code class="directive">Listen</code> pour les mêmes + adresse IP/port vont provoquer l'envoi d'un message d'erreur + <code>Address already in use</code>. + </div> + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../dns-caveats.html">Problèmes avec DNS</a></li> +<li><a href="../bind.html">Définition des adresses et ports +qu'utilise le serveur HTTP Apache</a></li> +<li><a href="http://wiki.apache.org/httpd/CouldNotBindToAddress">Autre +discussion à propos du message d'erreur <code>Address already in +use</code>, citant d'autres causes possibles.</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="listenbacklog" id="listenbacklog">Directive</a> <a name="ListenBackLog" id="ListenBackLog">ListenBackLog</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Longueur maximale de la liste d'attente des +connexions</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ListenBackLog <var>backlog</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ListenBackLog 511</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>La longueur maximale de la liste d'attente des connexions. En + général, aucune modification n'est nécessaire, ni même souhaitable ; + cependant, sur certains systèmes, il peut être nécessaire + d'en augmenter la valeur en cas d'attaque TCP SYN flood (envoi en + masse de requêtes SYN pour saturer le serveur). Voir le paramètre + backlog de l'appel système <code>listen(2)</code>.</p> + + <p>En fait, l'argument backlog sera souvent limité à une valeur + inférieure en fonction du système d'exploitation. Notez aussi que de + nombreux systèmes d'exploitation ne tiennent pas vraiment compte de + la valeur spécifiée pour l'argument backlog, mais s'en inspirent + seulement (et choisissent en général une valeur supérieure).</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="listencoresbucketsratio" id="listencoresbucketsratio">Directive</a> <a name="ListenCoresBucketsRatio" id="ListenCoresBucketsRatio">ListenCoresBucketsRatio</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Rapport entre le nombre de coeurs de processeur activés et +le nombre de segments d'écoute</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ListenCoresBucketsRatio <var>ratio</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ListenCoresBucketsRatio 0 (disabled)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.13 du serveur HTTP +Apache, avec un noyau supportant l'option de socket +<code>SO_REUSEPORT</code>, et distribuant uniformément les nouvelles +connexions aux sockets d'écoute des processus (ou threads) qui +l'utilisent (par exemple Linux versions 3.9 et ultérieures, mais pas +l'implémentation courante de <code>SO_REUSEPORT</code> par les +plateformes de type BSD.</td></tr> +</table> + <p>Vous pouvez utiliser la directive + <code class="directive">ListenCoresBucketsRatio</code> pour spécifier un + <var>ratio</var> entre le nombre de coeurs de CPU activés et le nombre de + segments d'écoute (listeners' buckets) souhaités ; le serveur HTTP Apache va + alors créer<code>num_cpu_cores / ratio</code> segments d'écoute, chacun + contenant son propre socket d'écoute <code class="directive"><a href="#listen">Listen</a></code> sur le ou les mêmes ports ; chaque + processus enfant sera associé à un seul segment d'écoute (avec une + distribution de type round-robin des segments à la création des processus + enfants).</p> + + <div class="note"><h3>Définition du terme coeur de CPU activé ("online")</h3> + <p>Sous Linux et BSD, un coeur de CPU peut être activé ou désactivé si <a href="https://www.kernel.org/doc/Documentation/cpu-hotplug.txt">Hotplug</a> + a été configuré ; la directive + <code class="directive">ListenCoresBucketsRatio</code> doit donc tenir compte de ce + paramètre pour calculer le nombre de segments d'écoute à créer.</p> + </div> + + <p>La directive <code class="directive">ListenCoresBucketsRatio</code> peut + améliorer le support de la montée en charge lorsque l'arrivée de + nouvelles connexions est/devient un goulot d'étranglement. Le test + de cette fonctionnalité avec des machines possédant un nombre de + coeurs de CPU important a permit de constater une amélioration des + performances significative et des temps de réponse plus courts.</p> + + <p>Pour que cette fonctionnalité soit activée, le nombre de coeurs + de CPU doit être égal au moins au double du <var>ratio</var> + spécifié. Si vous spécifiez la valeur recommandée pour + <var>ratio</var>, à savoir <code>8</code>, le nombre minimum de + coeurs de processeurs disponibles sera alors de <code>16</code>. La valeur + optimale de <var>ratio</var> permettant d'obtenir des performances maximales + doit être calculée pour chaque système cible, en testant plusieurs valeurs + et en observant les résultats.</p> + + <p>Cette directive influence le calcul des valeurs limites inférieures de + <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> et <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>. En effet, pour accepter les + connexions de manière optimale, le nombre de processus enfants doit être un + multiple du nombre de segments d'écoute.</p> + + <div class="note"> + <h3>Cas où plusieurs <code class="directive">Listen</code>ers ou serveurs HTTP + Apache partagent la même adresse IP et port</h3> + <p>La définition de l'option <code>SO_REUSEPORT</code> pour les sockets + d'écoute permet à plusieurs processus (partageant le même <code>EUID</code>, + par exemple <code>root</code>) de se rattacher à la même adresse IP et port, + sans obtenir l'erreur de rattachement que le système génère habituellement + lorsque ce cas se produit.</p> + <p>Cela signifie aussi que plusieurs instances d'Apache httpd configurées + avec le même <code>IP:port</code> et avec une valeur + <code class="directive">ListenCoresBucketsRatio</code> positive pourraient démarrer + sans erreur, et fonctionner ensuite avec une répartition uniforme des + connexions entrantes sur ces différentes instances (ce n'est PAS une + recommandation et ne constitue pas un usage approprié à tous les cas, mais + juste un avertissement sur le fait qu'un véritable problème de rattachement + multiple à un <code>IP:port</code> pourrait alors être occulté).</p> + <p>Au sein d'une même instance, Apache httpd vérifie la présence de + directives <code class="directive">Listen</code> multiples avec la même adresse IP + (ou nom d'hôte) et le même port, et refuse de démarrer si c'est le cas, ce + qui permet d'éviter la création de segments d'écoute dupliqués qui seraient + du coup inutiles et affecteraient les performances. Cependant, il ne peut + pas (et n'essaiera pas de le faire) intercepter tous les cas possibles de + recouvrement (comme un nom d'hôte correspondant à une adresse IP utilisée + quelque part ailleurs).</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="maxconnectionsperchild" id="maxconnectionsperchild">Directive</a> <a name="MaxConnectionsPerChild" id="MaxConnectionsPerChild">MaxConnectionsPerChild</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de connexions qu'un processus enfant va +traiter au cours de son fonctionnement</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxConnectionsPerChild <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxConnectionsPerChild 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 du serveur HTTP +Apache. L'ancien nom <code>MaxRequestsPerChild</code> est encore +supporté.</td></tr> +</table> + <p>La directive <code class="directive">MaxConnectionsPerChild</code> permet de + définir le nombre maximum de connexions qu'un processus enfant va + pouvoir traiter au cours de son fonctionnement. Lorsqu'il a traité + <code class="directive">MaxConnectionsPerChild</code> connexions, le processus + enfant est arrêté. Si <code class="directive">MaxConnectionsPerChild</code> est + définie à <code>0</code>, il n'y a plus aucune limite sur le nombre + de connexions que le processus pourra traiter.</p> + + <p>Définir <code class="directive">MaxConnectionsPerChild</code> à une valeur + non nulle limite la quantité de mémoire qu'un processus peut + consommer à cause de fuites (accidentelles) de mémoire.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="maxmemfree" id="maxmemfree">Directive</a> <a name="MaxMemFree" id="MaxMemFree">MaxMemFree</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Quantité maximale de mémoire que l'allocateur principal est +autorisé à conserver sans appeler <code>free()</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxMemFree <var>KOctets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxMemFree 2048</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code></td></tr> +</table> + <p>La directive <code class="directive">MaxMemFree</code> permet de définir + le nombre maximum de KOctets libres que tout allocateur est + autorisé à conserver sans appeler <code>free()</code>. Dans les MPMs + threadés, chaque thread possède son propre allocateur. Si elle est + définie à 0, la quantité de mémoire libre que peut conserver un + allocateur est illimitée.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="maxrequestworkers" id="maxrequestworkers">Directive</a> <a name="MaxRequestWorkers" id="MaxRequestWorkers">MaxRequestWorkers</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de connexions pouvant être traitées +simultanément</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxRequestWorkers <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>La directive <code class="directive">MaxRequestWorkers</code> permet de fixer le + nombre maximum de requêtes pouvant être traitées simultanément. + Si la limite <code class="directive">MaxRequestWorkers</code> est atteinte, toute + tentative de connexion sera normalement mise dans une file + d'attente, et ceci jusqu'à un certain nombre dépendant de la + directive <code class="directive"><a href="#listenbacklog">ListenBacklog</a></code>. + Lorsqu'un processus enfant se libèrera suite à la fin du traitement + d'une requête, la connexion en attente pourra être traitée à son + tour.</p> + + <p>Pour les serveurs non threadés (<em>c'est à dire</em> utilisant + <code class="module"><a href="../mod/prefork.html">prefork</a></code>), la directive + <code class="directive">MaxRequestWorkers</code> définit alors le nombre maximum de + processus enfants qui pourront être lancés simultanément pour + traiter les requêtes. La valeur par défaut est <code>256</code> ; si + vous l'augmentez, vous devez aussi augmenter la valeur de la + directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>.</p> + + <p>Pour les serveur threadés et hybrides (utilisant <em>par + exemple</em> <code class="module"><a href="../mod/event.html">event</a></code> ou <code class="module"><a href="../mod/worker.html">worker</a></code>), + <code class="directive">MaxRequestWorkers</code> définit alors le nombre total de + threads qui seront disponibles pour servir les clients. Dans le + cas des MPMs hybrides, la valeur par défaut est <code>16</code> + (directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>) multiplié par la valeur + <code>25</code> (directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>). Par conséquent, pour affecter à la + directive <code class="directive">MaxRequestWorkers</code> une valeur qui requiert + plus de 16 processus, vous devez aussi augmenter la valeur de la + directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>.</p> + + <p>Le nom de la directive <code class="directive">MaxRequestWorkers</code> + était <code class="directive">MaxClients</code> avant la version 2.3.13. Cet + ancien nom est encore supporté.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="maxsparethreads" id="maxsparethreads">Directive</a> <a name="MaxSpareThreads" id="MaxSpareThreads">MaxSpareThreads</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de threads inactifs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxSpareThreads <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>C'est le nombre maximum de threads inactifs. Les MPMs utilisent + cette directive de différentes manières.</p> + + <p>Pour <code class="module"><a href="../mod/worker.html">worker</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, la définition par défaut est + <code>MaxSpareThreads 250</code>. Ce MPM gère les threads inactifs + au niveau du serveur. Si le serveur possède trop de threads + inactifs, des processus enfants seront arrêtés jusqu'à ce que le + nombre de threads inactifs repasse en dessous de cette limite. Des + processus/threads supplémentaires sont susceptibles d'être créés si + <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> est + activée.</p> + + <p>Pour <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la définition par défaut est + <code>MaxSpareThreads 100</code>. Comme ce MPM n'exécute qu'un seul + processus, le nombre de processus inactifs est surveillé au + niveau du serveur.</p> + + <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> fonctionne de manière similaire à + <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>. Pour <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, la + valeur par défaut est <code>10</code>.</p> + + <div class="note"><h3>Contraintes</h3> + <p>La gamme de valeurs pour <code class="directive">MaxSpareThreads</code> + est limitée. Apache httpd corrigera automatiquement cette valeur selon + les règles suivantes :</p> + <ul> + <li>Avec <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="directive">MaxSpareThreads</code> doit être supérieure à <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>.</li> + + <li>Avec + <code class="module"><a href="../mod/worker.html">worker</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, <code class="directive">MaxSpareThreads</code> + doit être supérieure ou égale à la somme de <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>.</li> + </ul> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +<li><code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="minsparethreads" id="minsparethreads">Directive</a> <a name="MinSpareThreads" id="MinSpareThreads">MinSpareThreads</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre minimum de threads inactifs qui seront disponibles +pour pouvoir traiter les pics de requêtes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MinSpareThreads <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>C'est le nombre minimum de threads inactifs pour être en mesure + de traiter les pics de requêtes. Les MPMs utilisent cette directive + de différentes manières.</p> + + <p>Avec <code class="module"><a href="../mod/worker.html">worker</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, la définition par défaut est + <code>MinSpareThreads 75</code>, et le nombre de threads inactifs + est surveillé au niveau du serveur. Si le serveur ne possède pas + assez de threads inactifs, des processus enfants sont créés jusqu'à + ce que le nombre de threads inactifs repasse au dessus de + <var>nombre</var>. Des processus/threads supplémentaires peuvent + être créés si <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> est activée.</p> + + <p>Avec <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la définition par défaut est + <code>MinSpareThreads 10</code> et, comme ce MPM n'exécute qu'un + seul processus, le nombre de threads est surveillé au niveau général du + serveur.</p> + + <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> fonctionne de manière similaire à + <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>. Pour <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, la + valeur par défaut est <code>5</code>.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +<li><code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="pidfile" id="pidfile">Directive</a> <a name="PidFile" id="PidFile">PidFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ficher dans lequel le serveur enregistre l'identificateur +de processus du démon</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PidFile <var>nom fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>PidFile logs/httpd.pid</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>La directive <code class="directive">PidFile</code> permet de définir le + ficher dans lequel le serveur + enregistre l'identificateur de processus du démon. Si le chemin du + fichier n'est pas absolu, il est considéré comme relatif au chemin + défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">PidFile /var/run/apache.pid</pre> +</div> + + <p>Il est souvent utile de pouvoir envoyer un signal au + serveur afin qu'il ferme et ouvre à nouveau ses journaux + d'<code class="directive"><a href="../mod/core.html#erreur">erreur</a></code> et de <code class="directive"><a href="../mod/mod_log_config.html#transfert">transfert</a></code>, et recharge son + fichier de configuration. Pour ce faire, on envoie un signal SIGHUP + (kill -1) à l'identificateur de processus enregistré dans le fichier + défini par la directive <code class="directive">PidFile</code>.</p> + + <p>La directive <code class="directive">PidFile</code> fait l'objet des + mêmes avertissements que ceux concernant le chemin d'enregistrement + des fichiers journaux et la <a href="../misc/security_tips.html#serverroot">sécurité</a>.</p> + + <div class="note"><h3>Note</h3> + <p>Depuis la version 2 du serveur HTTP Apache, nous recommandons de n'utiliser + que le script <code class="program"><a href="../programs/apachectl.html">apachectl</a></code>, ou le script de + démarrage fourni avec votre système d'exploitation pour (re)démarrer ou + arrêter le serveur.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="receivebuffersize" id="receivebuffersize">Directive</a> <a name="ReceiveBufferSize" id="ReceiveBufferSize">ReceiveBufferSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon TCP en entrée</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ReceiveBufferSize <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ReceiveBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>Le serveur va fixer la taille du tampon TCP en entrée au + nombre d'octets spécifié.</p> + + <p>Si la directive est définie à <code>0</code>, le serveur va + utiliser la valeur par défaut adoptée par le système + d'exploitation.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="scoreboardfile" id="scoreboardfile">Directive</a> <a name="ScoreBoardFile" id="ScoreBoardFile">ScoreBoardFile</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin du fichier où sont stockées les données concernant +la coordination des processus enfants</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScoreBoardFile <var>chemin fichier</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScoreBoardFile logs/apache_runtime_status</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>Le serveur HTTP Apache utilise un tableau de bord pour la + communication entre le processus parent et les processus enfants. + Pour faciliter cette communication, certaines architectures + nécessitent un fichier. En l'absence de cette directive, donc si + aucun nom de fichier n'est spécifié, Apache httpd tentera tout + d'abord de créer un tableau uniquement en mémoire (en utilisant la + mémoire partagée anonyme) ; et si il n'y parvient pas, il tentera de + créer un fichier sur disque (en utilisant la mémoire partagée à base + de fichier). Si cette directive est utilisée, Apache httpd créera + systématiquement un fichier sur disque.</p> + + <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ScoreBoardFile /var/run/apache_runtime_status</pre> +</div> + + <p>Une mémoire partagée sous forme de fichier est utile pour les + applications tierces qui nécessitent un accès direct au tableau de + bord des processus.</p> + + <p>Si vous utilisez un <code class="directive">ScoreBoardFile</code>, vous + pourrez constater une amélioration des performances en le plaçant + sur un disque virtuel en RAM. Assurez-vous cependant de tenir compte + des mêmes avertissements que ceux concernant le chemin du fichier + journal et la <a href="../misc/security_tips.html">sécurité</a>.</p> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../stopping.html">Arrêter et redémarrer +le serveur HTTP Apache</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="sendbuffersize" id="sendbuffersize">Directive</a> <a name="SendBufferSize" id="SendBufferSize">SendBufferSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon TCP en sortie</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SendBufferSize <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SendBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>Définit la taille du tampon TCP en sortie avec le nombre + d'octets spécifié. Ceci s'avère souvent très utile pour augmenter les + valeurs par défaut standards du passé des systèmes d'exploitation + pour les transmissions à grande vitesse et haute densité (<em>c'est + à dire</em> de l'ordre de 100ms comme sur les liaisons rapides + transcontinentales).</p> + + <p>Si la directive est définie à <code>0</code>, le serveur va + utiliser la valeur par défaut adoptée par le système + d'exploitation.</p> + + <p>L'amélioration des performances des connexions à grande vitesse + et à temps de latence élevé, peut nécessiter + une intervention au niveau de la configuration de votre système + d'exploitation.</p> + + <div class="note"><p>Sous certains systèmes d'exploitation, la modification du + comportement TCP via une augmentation de la valeur de + <code class="directive">SendBufferSize</code> risque de ne pas être + perceptible, si la directive <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code> n'est pas définie à OFF. + Cette interaction ne s'applique qu'aux fichiers statiques.</p> </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="serverlimit" id="serverlimit">Directive</a> <a name="ServerLimit" id="ServerLimit">ServerLimit</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite supérieure de la définition du nombre de +processus</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerLimit <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>Avec le MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code>, cette directive définit le + nombre maximum que l'on peut affecter à la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>, et ceci pour la + durée de vie du processus Apache httpd. Avec les + MPMs <code class="module"><a href="../mod/worker.html">worker</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, cette directive, en combinaison avec + <code class="directive"><a href="#threadlimit">ThreadLimit</a></code>, définit le + nombre maximum que l'on peut affecter à <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>, et ceci pour la durée de + vie du processus Apache httpd. Avec le MPM <code class="module"><a href="../mod/event.html">event</a></code>, cette + directive permet aussi de définir le nombre de processus anciens du serveur + pouvant continuer à s'exécuter pour terminer le traitement des connexions + ouvertes. Au cours d'un redémarrage, vous pouvez + modifier la valeur de la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>, alors que toute + tentative de modification de la valeur de la directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code> sera ignorée.</p> + + <p>Cette directive doit être utilisée avec précaution. Si + <code class="directive">ServerLimit</code> est définie à une valeur beaucoup + plus grande que nécessaire, de la mémoire partagée supplémentaire + sera inutilement allouée. Si à la fois + <code class="directive">ServerLimit</code> et <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> possèdent des valeurs + supérieures à ce que le système peut supporter, ce dernier peut + devenir instable ou Apache httpd peut tout simplement refuser de démarrer.</p> + + <p>Avec les MPMs <code class="module"><a href="../mod/prefork.html">prefork</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, n'utilisez cette directive + que si vous devez définir <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> à une valeur supérieure à + 256 (valeur par défaut). N'affectez pas à la directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code> une valeur supérieure à + celle que vous avez prévu d'affecter à la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>.</p> + + <p>Avec <code class="module"><a href="../mod/worker.html">worker</a></code>, n'utilisez cette directive que si + la définition de vos directives <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> nécessitent plus de + 16 processus serveurs (valeur par défaut). N'affectez pas à la + directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code> une + valeur supérieure au nombre de processus requis pour la définition + des directives <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers + </a></code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>.</p> + + <div class="note"><h3>Note</h3> + <p>Il existe une limite de <code>ServerLimit 20000</code> codée en + dur dans le serveur (200000 pour le MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code>). + Ceci est censé éviter les effets désastreux que pourrait provoquer + une faute de frappe. Pour dépasser cette limite, vous devez + modifier la valeur de MAX_SERVER_LIMIT dans le fichier source du + mpm et recompiler le serveur.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../stopping.html">Arrêter et redémarrer +le serveur HTTP Apache</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="startservers" id="startservers">Directive</a> <a name="StartServers" id="StartServers">StartServers</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de processus enfants du serveur créés au +démarrage</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>StartServers <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>La directive <code class="directive">StartServers</code> permet de + définir le nombre de processus enfants du serveur créés au + démarrage. Comme le nombre de processus est contrôlé dynamiquement + en fonction de la charge (voir <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>, <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>, <code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code>, <code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code>), il n'est en général + pas nécessaire d'ajuster ce paramètre.</p> + + <p>La valeur par défaut diffère d'un MPM à l'autre. Pour + <code class="module"><a href="../mod/worker.html">worker</a></code> et <code class="module"><a href="../mod/event.html">event</a></code>, la définition par défaut est + <code>StartServers 3</code> ; la valeur par défaut est + <code>5</code> pour <code class="module"><a href="../mod/prefork.html">prefork</a></code> et <code>2</code> + pour <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="startthreads" id="startthreads">Directive</a> <a name="StartThreads" id="StartThreads">StartThreads</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de threads créés au démarrage</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>StartThreads <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code></td></tr> +</table> + <p>C'est le nombre de threads créés au démarrage du serveur. Comme + le nombre de threads est contrôlé dynamiquement + en fonction de la charge (voir <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>, <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>, <code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code>, <code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code>), il n'est en général + pas nécessaire d'ajuster ce paramètre.</p> + + <p>Pour <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la définition par défaut est + <code>StartThreads 50</code> et, comme il n'y a qu'un processus, il + s'agit du nombre total de threads créés au démarrage pour servir les + requêtes.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="threadlimit" id="threadlimit">Directive</a> <a name="ThreadLimit" id="ThreadLimit">ThreadLimit</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nombre de threads maximum que l'on peut définir par +processus enfant</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ThreadLimit <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>Cette directive permet de définir le nombre maximum que l'on peut + affecter à la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> pour la durée de vie + du processus Apache httpd. La directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> peut être modifiée + au cours d'un redémarrage jusqu'à la valeur de la directive <code class="directive"><a href="#threadlimit">ThreadLimit</a></code>, mais toute tentative + de modification de la directive <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> au cours d'un + redémarrage sera ignorée.</p> + + <p>L'utilisation de cette directive doit faire l'objet de + précautions particulières. Si <code class="directive">ThreadLimit</code> est + définie à une valeur très supérieure à la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>, de la mémoire + partagée supplémentaire sera inutilement allouée. Si les directives + <code class="directive">ThreadLimit</code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> sont définies à des + valeurs supérieures à ce que le système peut supporter, ce dernier + peut devenir instable, ou Apache httpd peut tout simplement refuser de + démarrer. Ne définissez pas cette directive à une valeur supérieure + à la valeur maximale que vous pensez affecter à la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> pour le processus + Apache httpd en cours d'exécution.</p> + + <p>La valeur par défaut de la directive + <code class="directive">ThreadLimit</code> est <code>1920</code> avec + <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, et <code>64</code> avec les autres + MPMs.</p> + + <div class="note"><h3>Note</h3> + <p>Il existe une limite de <code>ThreadLimit 20000</code> (ou + <code>ThreadLimit 100000</code> avec <code class="module"><a href="../mod/event.html">event</a></code>, + <code>ThreadLimit 15000</code> avec <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>) + codée en dur dans le serveur. Ceci est censé éviter les effets + désastreux que pourrait provoquer une faute de frappe. Pour + dépasser cette limite, vous devez modifier la valeur de + MAX_THREAD_LIMIT dans le fichier source du mpm et recompiler le + serveur.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="threadsperchild" id="threadsperchild">Directive</a> <a name="ThreadsPerChild" id="ThreadsPerChild">ThreadsPerChild</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de threads créés par chaque processus +enfant</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ThreadsPerChild <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Voir ci-dessous pour plus de détails</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>Cette directive permet de définir le nombre de threads que va + créer chaque processus enfant. Un processus enfant crée ces threads + au démarrage et n'en crée plus d'autres par la suite. Si l'on + utilise un MPM comme <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> qui ne lance qu'un + processus enfant, ce nombre doit être suffisamment grand pour + supporter la charge du serveur. Avec un MPM comme + <code class="module"><a href="../mod/worker.html">worker</a></code> qui lance plusieurs processus enfants, c'est + le nombre <em>total</em> de threads qui doit être suffisamment grand + pour supporter la charge du serveur.</p> + + <p>La valeur par défaut de la directive + <code class="directive">ThreadsPerChild</code> est <code>64</code> avec + <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, et <code>25</code> avec les autres + MPMs.</p> + + <p>La valeur de la directive <code class="directive">ThreadsPerChild</code> ne peut + pas dépasser la valeur de la directive <code class="directive"><a href="#threadlimit">ThreadLimit</a></code>. Si on spécifie une valeur + supérieure, elle sera automatiquement réduite au démarrage du serveur et un + avertissement sera enregistré dans le journal. La relation entre ces deux + directives est expliquée dans la <code class="directive"><a href="#documentation de la directive threadlimit">documentation de la directive ThreadLimit</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="threadstacksize" id="threadstacksize">Directive</a> <a name="ThreadStackSize" id="ThreadStackSize">ThreadStackSize</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La taille en octets de la pile qu'utilisent les threads qui +traitent les connexions clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ThreadStackSize <var>taille</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>65536 sous NetWare; varie en fonction des autres systèmes +d'exploitation</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans les versions 2.1 et supérieures +du serveur HTTP Apache</td></tr> +</table> + <p>La directive <code class="directive">ThreadStackSize</code> permet de + définir la taille de la pile (pour les données propres) qu'utilisent + les threads qui traitent les connexions clients en faisant appel à + des modules. Dans la plupart des cas, la valeur par défaut de la + taille de la pile du système d'exploitation convient, mais il existe + certaines situations où il peut s'avérer nécessaire de l'ajuster + :</p> + + <ul> + <li>Sur les plates-formes qui possèdent une valeur par défaut de + taille de la pile relativement petite (par exemple HP-UX), Apache + httpd peut se crasher si l'on utilise certains modules tiers qui + possèdent un quantité de données propres stockées relativement + importante. Il se peut que ces mêmes modules fonctionnent + correctement sur d'autres plate-formes où la valeur par défaut de + la taille de la pile est supérieure. Ce type de crash peut être + evité en définissant <code class="directive">ThreadStackSize</code> à une + valeur supérieure à la valeur par défaut du système + d'exploitation. Ce type d'ajustement n'est nécessaire que si le + fournisseur du module tiers en fait mention, ou si le diagnostic + d'un crash d'Apache httpd indique que la taille de la pile était trop + petite.</li> + + <li>Sur les plates-formes où la taille par défaut de la pile des + threads est sensiblement supérieure à la taille nécessaire pour la + configuration du serveur web, il est possible de disposer d'un + plus grand nombre de threads par processus enfant si la directive + <code class="directive">ThreadStackSize</code> est définie à une valeur + inférieure à la valeur par défaut du système d'exploitation. + Cependant, ce + type d'ajustement ne doit être effectué que dans un environnement + de test permettant de qualifier le serveur web au maximum de ses + possibilités, car il peut arriver, dans de rares cas, que des + requêtes nécessitent une taille de pile supérieure pour pouvoir + être traitées. La taille minimale requise pour la pile dépend + fortement des modules utilisés, mais toute modification dans la + configuration du serveur web peut invalider la définition courante + de la directive <code class="directive">ThreadStackSize</code>.</li> + + <li>Sous Linux, cette directive ne peut être utilisée que pour + augmenter la valeur par defaut de la taille de la pile, car + l'appel système sous-jacent utilise cette valeur comme taille de pile + <em>minimale</em>. C'est la limite logicielle (souvent élevée) + pour <code>ulimit -s</code> (8Mo si aucune limite) qui est + utilisée comme taille de pile par défaut.</li> + </ul> + + <div class="note">Il est recommandé de ne pas réduire + <code class="directive">ThreadStackSize</code>, à moins qu'un grand nombre + de threads par processus enfant ne soit nécessaire. Sur certaines + plates-formes (y compris Linux), une valeur de 128000 est déjà trop + basse et provoque des crashes avec certains modules courants.</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpm_common.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mpm_common.html.ja.utf8 b/docs/manual/mod/mpm_common.html.ja.utf8 new file mode 100644 index 0000000..005dc79 --- /dev/null +++ b/docs/manual/mod/mpm_common.html.ja.utf8 @@ -0,0 +1,801 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mpm_common - Apache HTTP サーバ バージョン 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p> +<p class="apache">Apache HTTP サーバ バージョン 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン 2.4</a> > <a href="./">モジュール</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM 共通ディレクティブ</h1> +<div class="toplang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<div class="outofdate">この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 + </div> +<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>二つ以上のマルチプロセッシングモジュール (MPM) +で実装されているディレクティブのコレクション</td></tr> +<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>MPM</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">ディレクティブ</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listen">Listen</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listenbacklog">ListenBackLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#pidfile">PidFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startservers">StartServers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startthreads">StartThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadstacksize">ThreadStackSize</a></li> +</ul> +<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_common">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_common">Report a bug</a></li></ul><h3>参照</h3> +<ul class="seealso"> +<li><a href="#comments_section">コメント</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CoreDumpDirectory" id="CoreDumpDirectory">CoreDumpDirectory</a> <a name="coredumpdirectory" id="coredumpdirectory">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Apache がコアダンプする前に移動を試みるディレクトリ +</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>CoreDumpDirectory <var>directory</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>デフォルトの設定は説明文を読んでください</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Apache がコアダンプする前に移動を試みるディレクトリを制御します。 + デフォルト値は <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> + ディレクトリですが、このディレクトリはサーバの実行されているユーザ権限で + 書き込み可能であるべきではないので、通常はコアダンプは書き込まれません。 + デバッグのためにコアダンプが必要であれば、 + このディレクティブを使って他の位置にコアダンプを書き出すようにできます。</p> + + <div class="note"><h3>Linux でのコアダンプ</h3> + <p>Apache が root として起動されて、別のユーザの権限に以降した場合は + Linux のカーネルはディレクトリがプロセスの権限で書き込み可能な場合でさえも + コアダンプを<em>無効</em>にします。Apache (2.0.46 以降) は + Linux 2.4 以降ではコアダンプを行なうように再指定しますが、それは + <code class="directive">CoreDumpDirectory</code> を明示的に設定したときに + 限ります。</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableExceptionHook" id="EnableExceptionHook">EnableExceptionHook</a> <a name="enableexceptionhook" id="enableexceptionhook">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クラッシュの後に例外ハンドラを実行するフックを有効にする</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>EnableExceptionHook On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>EnableExceptionHook Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.0.49 以降</td></tr> +</table> + <p>安全上の理由から、<code>--enable-exception-hook</code> configure + オプションを有効にした場合にのみ、このディレクティブを利用できます。 + 外部モジュールをプラグインして、子がクラッシュした後に何か実行できるような + フックを有効にします。</p> + + <p>このような外部モジュールは、既に二つ存在していて、 + <code>mod_whatkilledus</code> と <code>mod_backtrace</code> + がこのフックを活用します。これらの詳細については Jeff Trawick + さんの <a href="http://www.apache.org/~trawick/exception_hook.html">EnableExceptionHook site</a> を参照してください。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="GracefulShutdownTimeout" id="GracefulShutdownTimeout">GracefulShutdownTimeout</a> <a name="gracefulshutdowntimeout" id="gracefulshutdowntimeout">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>穏やかな停止をかけた後、終了するまで待つ時間</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>GracefulShutDownTimeout <var>seconds</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>GracefulShutDownTimeout 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/event.html">event</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.2 以降</td></tr> +</table> + <p><code class="directive">GracefulShutdownTimeout</code> には + サーバーが "graceful-stop" シグナルを受け取ってから現在の + リクエストの処理を最大で何秒間続けるかを指定します。</p> + + <p>この値をゼロに設定すると、処理中として残っているリクエストが + 全て完了するまでサーバーは終了しません。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Listen" id="Listen">Listen</a> <a name="listen" id="listen">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバが listen するIP アドレスとポート番号</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Listen [<var>IP-address</var>:]<var>portnumber</var> [<var>protocol</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/event.html">event</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0 から必須ディレクティブ。<var>protocol</var> +引数は 2.1.5 で追加。</td></tr> +</table> + <p><code class="directive">Listen</code> ディレクティブは Apache + が特定の IP アドレスやポート番号だけを listen するように指定します。 + デフォルトでは全ての IP インターフェースのリクエストに応答します。 + <code class="directive">Listen</code> ディレクティブは + 現在は必須のディレクティブとなりました。 + もし設定ファイルになければ、サーバは起動に失敗します。 + これは以前のバージョンの Apache から変更のあった部分です。</p> + + <p><code class="directive">Listen</code> ディレクティブでは、特定のポートあるいは + アドレスとポートの組み合わせから入ってくるリクエストに対して + 応答するように指定します。 + もしポート番号だけが指定された場合は、サーバは全インターフェースの + 指定されたポート番号に対して listen します。 + IP アドレスがポートとともに指定された場合は、 + サーバは指定されたポートとインターフェースに対して listen + します。</p> + + <p>複数のアドレスとポートに対して listen するように、 + 複数の <code class="directive">Listen</code> ディレクティブを使うこともできます。 + サーバは列挙されたアドレスとポート全てからのリクエストに対して + 応答します。</p> + + <p>例えば、サーバが 80 番ポートと 8000 番ポートの両方の + コネクションを受け入れる場合は、次のようにします。</p> + + <div class="example"><p><code> + Listen 80<br /> + Listen 8000 + </code></p></div> + + <p>二つの特定のインターフェースとポート番号からのコネクションを + 受け入れるようにするには、次のようにします。</p> + + <div class="example"><p><code> + Listen 192.170.2.1:80<br /> + Listen 192.170.2.5:8000 + </code></p></div> + + <p>IPv6 アドレスは角括弧で囲まなければなりません。 + 例えば次の例のようにです。</p> + + <div class="example"><p><code> + Listen [2001:db8::a00:20ff:fea7:ccea]:80 + </code></p></div> + + <p><var>protocol</var> オプション引数は通常の設定では必要ありません。 + 無指定の場合、443 番ポートには <code>https</code> が、他のポートには + <code>http</code> がデフォルト値として使用されます。 + protocol 指定は、どのモジュールがリクエストを処理するかを決定し、 + <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code> + によるプロトコル特有の最適化を行うようにします。</p> + + <p>非標準なポートで運用している際にのみ protocol 指定が必要になります。 + たとえば <code>https</code> なサイトを 8443 番ポートで運用している場合 :</p> + + <div class="example"><p><code> + Listen 192.170.2.1:8443 https + </code></p></div> + + <div class="note"><h3>エラー条件</h3> + 同一 IP アドレスとポートの組に、複数の <code class="directive">Listen</code> + ディレクティブを指定してしまうと、<code>Address already in use</code> + というエラーメッセージを受けることになります。 + </div> + + +<h3>参照</h3> +<ul> +<li><a href="../dns-caveats.html">DNS の問題</a></li> +<li><a href="../bind.html">Apache +が使用するアドレスとポートの設定</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ListenBackLog" id="ListenBackLog">ListenBackLog</a> <a name="listenbacklog" id="listenbacklog">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>保留状態のコネクションのキューの最大長</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ListenBacklog <var>backlog</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ListenBacklog 511</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>保留状態のコネクションのキューの最大長です。 + 一般的には調整する必要はありませんし、調整は望ましくありません。 + しかし、TCP SYN フラッドアタックの状況下におかれる場合に、 + 増やした方が望ましいシステムもあります。 + <code>listen(2)</code> システムコールのバックログパラメータを + ご覧下さい。</p> + + <p>この値は OS により、小さな数に抑えられます。 + 値は OS 毎に異なっています。また多くの OS では、 + バックログとして指定されている値ちょうどまで使っているわけではなく、 + 設定されている値に基づいて (通常は設定値よりも大きな値を) + 使っていることに注意してください。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ListenCoresBucketsRatio" id="ListenCoresBucketsRatio">ListenCoresBucketsRatio</a> <a name="listencoresbucketsratio" id="listencoresbucketsratio">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Ratio between the number of CPU cores (online) and the number of +listeners' buckets</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ListenCoresBucketsRatio <var>ratio</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ListenCoresBucketsRatio 0 (disabled)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available in Apache HTTP Server 2.4.17, with a kernel supporting +the socket option <code>SO_REUSEPORT</code> and distributing new connections +evenly across listening processes' (or threads') sockets using it (eg. Linux +3.9 and later, but not the current implementations of <code>SO_REUSEPORT</code> +in *BSDs.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxConnectionsPerChild" id="MaxConnectionsPerChild">MaxConnectionsPerChild</a> <a name="maxconnectionsperchild" id="maxconnectionsperchild">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Limit on the number of connections that an individual child server +will handle during its life</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MaxConnectionsPerChild <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>MaxConnectionsPerChild 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Available Apache HTTP Server 2.3.9 and later. The old name +<code>MaxRequestsPerChild</code> is still supported.</td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxMemFree" id="MaxMemFree">MaxMemFree</a> <a name="maxmemfree" id="maxmemfree">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td><code>free()</code> が呼ばれない限り、 +主メモリアロケータが保持し続けられるメモリの最大量</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MaxMemFree <var>KBytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>MaxMemFree 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p><code class="directive">MaxMemFree</code> ディレクティブは + <code>free()</code> が呼ばれない限り、 + 主アロケータが保持できる空のメモリの最大値をキロバイト単位で設定します。 + 設定されていないか、零に設定されているときは、無制限になります。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRequestWorkers" id="MaxRequestWorkers">MaxRequestWorkers</a> <a name="maxrequestworkers" id="maxrequestworkers">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>Maximum number of connections that will be processed +simultaneously</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MaxRequestWorkers <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>See usage for details</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table><p>このディレクティブの解説文書は + まだ翻訳されていません。英語版をご覧ください。 + </p></div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxSpareThreads" id="MaxSpareThreads">MaxSpareThreads</a> <a name="maxsparethreads" id="maxsparethreads">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>アイドルスレッドの最大数</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MaxSpareThreads <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>詳細は使用法をご覧下さい。</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>アイドルなスレッドの最大数です。異なる MPM ではそれぞれ、 + このディレクティブは異なる取り扱われ方をされます。</p> + + <p><code class="module"><a href="../mod/perchild.html">perchild</a></code> では、 + デフォルトは <code>MaxSpareThreads 10</code> です。 + この MPM はアイドルスレッド数を、それぞれの子プロセスごとに監視します。 + 子プロセスにアイドルスレッドが多すぎる場合は、 + サーバはその子プロセスに含まれるスレッドを終了し始めます。</p> + + <p><code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, + <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> では、 + デフォルトは <code>MaxSpareThreads 250</code> です。 + この MPM はアイドルスレッド数をサーバ全体で監視します。 + サーバでアイドルスレッド数が多すぎる場合は、 + この数字よりも少ない数になるまで子プロセスを終了します。</p> + + <p><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> では、 + デフォルトは <code>MaxSpareThreads 100</code> です。 + この MPM はシングルプロセスで実行されますので、 + スペアスレッド数もサーバ全体で勘定します。</p> + + <p><code class="module"><a href="../mod/beos.html">beos</a></code> と <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> は + <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> と似た挙動をします。 + <code class="module"><a href="../mod/beos.html">beos</a></code> でのデフォルト値は <code>MaxSpareThreads 50</code> + です。<code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> でのデフォルト値は <code>10</code> + です。</p> + + <div class="note"><h3>制限事項</h3> + <p><code class="directive">MaxSpareThreads</code> の取る値には制限があります。 + Apache は次の規則に従って自動的に補正します。</p> + <ul> + <li><code class="module"><a href="../mod/perchild.html">perchild</a></code> では、 + <code class="directive">MaxSpareThreads</code> が + <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> + と等しいかそれ以下である必要があります。</li> + + <li><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> は + <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> + よりも大きい必要があります。</li> + + <li><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, + <code class="module"><a href="../mod/worker.html">worker</a></code> では、 + <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> と + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + で決まる総和と等しいか大きい必要があります。</li> + </ul> + </div> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MinSpareThreads" id="MinSpareThreads">MinSpareThreads</a> <a name="minsparethreads" id="minsparethreads">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>リクエストに応答することのできる +アイドルスレッド数の最小数</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>MinSpareThreads <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>詳細は使用方法をご覧下さい。</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>リクエストに応答するスレッド数の最小値です。 + 異なる MPM ではそれぞれ、 + このディレクティブは異なる取り扱われ方をします。</p> + + <p><code class="module"><a href="../mod/perchild.html">perchild</a></code> では、 + デフォルトは <code>MinSpareThreads 5</code> で、 + アイドルスレッド数を子プロセス毎に監視します。 + もし子プロセスに十分な数のスレッドがなければ、 + サーバはその子プロセスに新しいスレッドを作り始めます。 + ですから、<code class="directive"><a href="../mod/perchild.html#numservers">NumServers</a></code> + を <code>10</code> に、<code class="directive">MinSpareThreads</code> を + <code>5</code> にした場合は、最小でも 50 のアイドルスレッドが + システム上にあることになります。</p> + + <p><code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, + <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> では、 + デフォルトは <code>MinSpareThreads 75</code> で、 + アイドルスレッド数をサーバ全体で監視します。 + もしサーバに十分な数のアイドルスレッドがなければ、 + アイドルスレッド数がこの数 <var>number</var> よりも大きくなるまで + 新しい子プロセスが生成されます。</p> + + <p><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> では、 + デフォルトは <code>MinSpareThreads 10</code> で、 + シングルプロセス MPM ですので、サーバ全体で管理されます。</p> + + <p><code class="module"><a href="../mod/beos.html">beos</a></code> と <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> は、 + <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>によく似ています。 + <code class="module"><a href="../mod/beos.html">beos</a></code> でのデフォルトは <code>MinSpareThreads 1</code> + です。<code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> でのデフォルトは + <code>5</code> です。</p> + +<h3>参照</h3> +<ul> +<li><code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="PidFile" id="PidFile">PidFile</a> <a name="pidfile" id="pidfile">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>デーモンのプロセス ID +をサーバが記録するためのファイル</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>PidFile <var>filename</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>PidFile logs/httpd.pid</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p><code class="directive">PidFile</code> ディレクティブで、 + デーモンのプロセス ID をサーバが記録するファイルを設定します。 + ファイル名が絶対パスでない場合は、 + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> + からの相対的なものとして扱われます。</p> + + <div class="example"><h3>例</h3><p><code> + PidFile /var/run/apache.pid + </code></p></div> + + <p>サーバが <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code> + や <code class="directive"><a href="../mod/mod_log_config.html#transferlog">TransferLog</a></code> + を閉じて開き直したり、設定ファイルを + 再読込したりさせるために、サーバにシグナルを送ることができると + 便利なことがあります。 + これは SIGHUP (kill -1) シグナルを <code class="directive">PidFile</code> + に書かれているプロセス ID に送ることでできます。</p> + + <p><code class="directive">PidFile</code> には、ログファイルの設置位置や + <a href="../misc/security_tips.html#serverroot">セキュリティ</a> + と全く同じ注意点があります。</p> + + <div class="note"><h3>注意</h3> + <p>Apache 2 では、 + <code class="program"><a href="../programs/apachectl.html">apachectl</a></code> + スクリプトのみを使用してサーバの (再) 起動や停止を + 行なうことを推奨しています。</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ReceiveBufferSize" id="ReceiveBufferSize">ReceiveBufferSize</a> <a name="receivebuffersize" id="receivebuffersize">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>TCP 受信バッファサイズ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ReceiveBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ReceiveBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>サーバは TCP 受信バッファサイズを指定されたバイト数に設定します。</p> + + <p><code>0</code>にした場合、OS のデフォルト値が使用されます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScoreBoardFile" id="ScoreBoardFile">ScoreBoardFile</a> <a name="scoreboardfile" id="scoreboardfile">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>子プロセスと連携するためのデータを保存する +ファイルの位置</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ScoreBoardFile <var>file-path</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ScoreBoardFile logs/apache_status</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>Apache は親プロセスと子プロセス間の通信にスコアボードを用います。 + この通信機能にファイルを必要とするアーキテクチャもあります。 + ファイルが指定されていなければ、Apache はまずメモリ上 + (匿名共有メモリ) にスコアボードを作ろうとし、それが失敗すると + ディスク上にファイル (ファイルベースの共有メモリ) を作ろうとします。 + このディレクティブを指定すると、Apache + は必ずディスクにファイルを生成します。</p> + + <div class="example"><h3>例</h3><p><code> + ScoreBoardFile /var/run/apache_status + </code></p></div> + + <p>ファイルベースの共有メモリは、サードパーティー製のアプリケーションで + スコアボードに直接アクセスする必要がある場合に役に立ちます。</p> + + <p><code class="directive">ScoreBoardFile</code> を使う場合、 + RAM ディスク上に置くとスピードが向上するでしょう。 + しかし、ログファイルの設置位置や + <a href="../misc/security_tips.html">セキュリティ</a> + と同様の注意点があるので、注意してください。</p> + +<h3>参照</h3> +<ul> +<li><a href="../stopping.html">Apache の停止と再起動</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SendBufferSize" id="SendBufferSize">SendBufferSize</a> <a name="sendbuffersize" id="sendbuffersize">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>TCP バッファサイズ</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>SendBufferSize <var>bytes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>SendBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>サーバは TCP 送信バッファサイズを指定されたバイト数に設定します。 + 高速で高レイテンシな環境で + (<em>例</em> 100ms 程度、大陸横断高速通信路など) + 古い一般的な OS のデフォルト値を増やすのに非常に便利です。</p> + + <p><code>0</code>にした場合、OS のデフォルト値が使用されます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerLimit" id="ServerLimit">ServerLimit</a> <a name="serverlimit" id="serverlimit">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>設定可能なサーバプロセス数の上限</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ServerLimit <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>詳細は使用法を参照</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p><code class="module"><a href="../mod/prefork.html">prefork</a></code> MPM の場合は、このディレクティブは + Apache プロセス稼働中における + <code class="directive"><a href="#maxclients">MaxClients</a></code> + に設定可能な上限値を設定することになります + <span class="transnote">(<em>訳注:</em> prefork の場合は同時クライアント数 = サーバプロセス数なので)</span>。 + <code class="module"><a href="../mod/worker.html">worker</a></code> MPM の場合には、このディレクティブは + <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> + ディレクティブと組み合わせて、 + Apache プロセス稼働中における + <code class="directive"><a href="#maxclients">MaxClients</a></code> + に設定可能な上限値を設定することになります。 + このディレクティブを変更して再起動<span class="transnote">(<em>訳注:</em> apachectl + restart)</span>しても無視されますが、 + <code class="directive"><a href="#maxclients">MaxClients</a></code> + は再起動で変更することができます。 + </p> + + <p>このディレクティブを使用する際は特に注意してください。 + <code class="directive">ServerLimit</code> が必要以上に大きな値に + 設定された場合は、余計な未使用共有メモリが割り当てられます。 + <code class="directive">ServerLimit</code> と + <code class="directive"><a href="#maxclients">MaxClients</a></code> + がシステムの扱える範囲を越えた設定値になっていると、 + Apache は起動しないか、起動しても不安定になるでしょう。</p> + + <p><code class="module"><a href="../mod/prefork.html">prefork</a></code> MPM では、 + <code class="directive"><a href="#maxclients">MaxClients</a></code> + を 256 (デフォルト) よりも大きな値に設定する必要がある時にだけ使用してください。 + 希望の <code class="directive"><a href="#maxclients">MaxClients</a></code> + 数とくらべて、必要以上に大きな値を指定することは避けてください。</p> + + <p><code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/leader.html">leader</a></code>, + <code class="module"><a href="../mod/threadpool.html">threadpool</a></code> MPM では、 + <code class="directive"><a href="#maxclients">MaxClients</a></code> と + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + の設定で 16 サーバプロセス (デフォルト) + 以上必要になる場合にのみ使用してください。希望の + <code class="directive"><a href="#maxclients">MaxClients </a></code> と + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + とくらべて、必要となるサーバプロセス数以上に大きな値を + 設定することは避けてください。</p> + + <p><code class="module"><a href="../mod/perchild.html">perchild</a></code> MPM では、 + <code class="directive"><a href="../mod/perchild.html#numservers">NumServers</a></code> を 8 (デフォルト) + よろいも大きな値に設定する必要があるときにのみ使用してください。</p> + + <div class="note"><h3>注意</h3> + <p><code>ServerLimit 20000</code> という制限付きでコンパイルされています + (<code class="module"><a href="../mod/prefork.html">prefork</a></code> MPM では <code>200000</code>) 。 + これはスペルミスによって誤って酷い状況になるのを、 + 回避するための処置です。</p> + </div> + +<h3>参照</h3> +<ul> +<li><a href="../stopping.html">Apache の停止と再起動</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StartServers" id="StartServers">StartServers</a> <a name="startservers" id="startservers">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>起動時に生成される子サーバプロセスの数</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>StartServers <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>詳細は使用方法を参照</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p><code class="directive">StartServers</code> ディレクティブは、 + 起動時に生成される子サーバプロセスの数を設定します。 + プロセス数は負荷に応じて動的に制御されますので、 + 通常はこの値を調整する理由はあまりないでしょう。</p> + + <p>デフォルト値は MPM ごとに異なります。 + <code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, + <code class="module"><a href="../mod/worker.html">worker</a></code> は <code>StartServers 3</code> です。 + <code class="module"><a href="../mod/prefork.html">prefork</a></code> は <code>5</code> で、 + <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> は <code>2</code> です。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StartThreads" id="StartThreads">StartThreads</a> <a name="startthreads" id="startthreads">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>起動時に生成されるスレッドの数</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>StartThreads <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>詳細は使用方法を参照</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/beos.html">beos</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code></td></tr> +</table> + <p>起動時に生成されるスレッドの数です。 + スレッド数は負荷に応じて動的に制御されますので、 + 通常はこの値を調整する理由はあまりないでしょう。</p> + + <p><code class="module"><a href="../mod/perchild.html">perchild</a></code> でのデフォルトは + <code>StartThreads 5</code> で、このディレクティブは起動時に + プロセス毎のスレッド数を追跡します。</p> + + <p><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> でのデフォルトは + <code>StartThreads 50</code> で、 + この場合プロセスは一つしかないので、 + 起動時にリクエストに応答するスレッドの総数となります。</p> + + <p><code class="module"><a href="../mod/beos.html">beos</a></code> でのデフォルトは <code>StartThreads + 10</code> です。 + また、起動時に生成されるスレッドの総数にも反映されます。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadLimit" id="ThreadLimit">ThreadLimit</a> <a name="threadlimit" id="threadlimit">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>設定可能な子プロセス毎のスレッド数の上限を +設定します</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ThreadLimit <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>詳細は使用方法を参照</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0.41 とそれ以降の <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> +で利用可能</td></tr> +</table> + <p>このディレクティブは + Apache プロセス稼働中における + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + に設定可能な上限値を設定します。再起動時にこのディレクティブの値を + 変更しても無視されますが、 + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + は再起動中に、このディレクティブで指定された上限値まで + 変更することができます。</p> + + <p>このディレクティブを使用する際は特に注意してください。 + <code class="directive">ThreadLimit</code> が + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + よりもずっと大きな値に設定された場合は、 + 余計な未使用共有メモリが割り当てられてしまいます。 + <code class="directive">ThreadLimit</code> が + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + の両方がシステムの扱える範囲を超えている場合は、 + Apache は起動しないか、起動したとしても不安定になるでしょう。 + このディレクティブの値は今使用している Apache の <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> の予想上限値を + 超えた値には設定しないでください。 + </p> + + <p><code class="directive">ThreadLimit</code> のデフォルト値は + <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> のときは <code>1920</code> で、 + 他の場合は <code>64</code> です。</p> + + <div class="note"><h3>注意</h3> + <p><code>ThreadLimit 20000</code> (<code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> + の場合は <code>ThreadLimit 15000</code> ) + という制限付きでコンパイルされています。 + これはスペルミスによって誤って酷い状況になるのを、 + 回避するための処置です。</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadsPerChild" id="ThreadsPerChild">ThreadsPerChild</a> <a name="threadsperchild" id="threadsperchild">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>子プロセスそれぞれに生成されるスレッド数</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ThreadsPerChild <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>詳細は使用方法を参照</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +</table> + <p>このディレクティブは、それぞれの子プロセスで生成される + スレッド数を設定します。 + 子プロセスは開始時にこれらのスレッドを生成して、 + その後は生成しません。<code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> のような、 + 子プロセスが一つしかないような MPM を利用しているのであれば、 + この値はサーバの負荷全体を十分取り扱える程度に、 + 大きくなければなりません。<code class="module"><a href="../mod/worker.html">worker</a></code> のような、 + 子プロセスが複数あるような MPM を利用しているのであれば、 + サーバの通常負荷を十分扱える程度に、 + <em>スレッド総数</em>が多くなければなりません。</p> + + <p><code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>での <code class="directive">ThreadsPerChild</code> + のデフォルト値は <code>64</code> で、他の場合は + <code>25</code> です。</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadStackSize" id="ThreadStackSize">ThreadStackSize</a> <a name="threadstacksize" id="threadstacksize">ディレクティブ</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>クライアントのコネクションを受け持つスレッドが使用する +スタックのバイト数</td></tr> +<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ThreadStackSize <var>size</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>NetWare では 65536。他の OS では違った値</code></td></tr> +<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル</td></tr> +<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td><code class="module"><a href="../mod/leader.html">leader</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/perchild.html">perchild</a></code>, <code class="module"><a href="../mod/threadpool.html">threadpool</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>2.1 以降</td></tr> +</table> + <p>クライアントコネクションを受け持ち、コネクション処理に必要なモジュールの + 呼び出しを行なっているスレッドの、(自動変数用の) スタックサイズは + <code class="directive">ThreadStackSize</code> ディレクティブで指定します。 + 大抵の場合 OS の指定しているスタックサイズのデフォルト値は + 適切なものですが、調整が必要になる場合もあります:</p> + + <ul> + <li>スレッドスタックサイズのデフォルト値が比較的小さく設定されている + プラットホーム (例えば HP-UX) では、自動変数用の領域で大きな容量を + 使用するサードパーティ製モジュールのために Apache がクラッシュする + 場合もあります。そのモジュールは他のプラットホームでは + スタックサイズが大きいために、快調に動作するかもしれません。 + このタイプのクラッシュは、<code class="directive">ThreadStackSize</code> + で OS のデフォルト値より大きな値を指定することで解決します。 + サードパーティ製モジュールでこの処置が必要であると記載されている + 場合か、Apache の出力するメッセージでスレッドスタックサイズが + 小さすぎると指摘されている場合にのみ、この調整をしてください。</li> + + <li>デフォルトスレッドスタックサイズが、Web サーバ用途に必要な量よりも + 明らかに大きすぎる場合、<code class="directive">ThreadStackSize</code> + を OS のデフォルト値よりも小さな値にすることで、子プロセスあたりの + スレッド数をより多く持たせられるようになります。 + このタイプの調整は、テスト環境でウェブサーバを完全に + テストできる場合に限って行なうべきです。 + まれに多数のスタックが要求されるリクエストを受けることがあるかも + しれないからです。 + Web サーバの設定を変更すると、現在の <code class="directive">ThreadStackSize</code> + の設定が取り消される場合があります。</li> + </ul> + +</div> +</div> +<div class="bottomlang"> +<p><span>翻訳済み言語: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">コメント</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpm_common.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br />この文書は <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> のライセンスで提供されています。.</p> +<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file diff --git a/docs/manual/mod/mpm_common.html.tr.utf8 b/docs/manual/mod/mpm_common.html.tr.utf8 new file mode 100644 index 0000000..e0e0264 --- /dev/null +++ b/docs/manual/mod/mpm_common.html.tr.utf8 @@ -0,0 +1,910 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>mpm_common - Apache HTTP Sunucusu Sürüm 2.4</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> +<script src="../style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p> +<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p> +<img alt="" src="../images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Modüller</a></div> +<div id="page-content"> +<div id="preamble"><h1>Apache MPM Ortak Yönergeleri</h1> +<div class="toplang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Birden fazla Çok Süreçlilik Modülü (MPM) tarafından gerçeklenmiş + yönergeler bütünü.</td></tr> +<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>MPM</td></tr></table> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><h3 class="directives">Yönergeler</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#coredumpdirectory">CoreDumpDirectory</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enableexceptionhook">EnableExceptionHook</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listen">Listen</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listenbacklog">ListenBackLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxconnectionsperchild">MaxConnectionsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxmemfree">MaxMemFree</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxrequestworkers">MaxRequestWorkers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxsparethreads">MaxSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#minsparethreads">MinSpareThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#pidfile">PidFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#receivebuffersize">ReceiveBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scoreboardfile">ScoreBoardFile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sendbuffersize">SendBufferSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverlimit">ServerLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startservers">StartServers</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#startthreads">StartThreads</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadlimit">ThreadLimit</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadsperchild">ThreadsPerChild</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#threadstacksize">ThreadStackSize</a></li> +</ul> +<h3>Bulunan hatalar</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd günlüğü</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mpm_common">Bilinenler</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mpm_common">Hata bildir</a></li></ul><h3>Ayrıca bakınız:</h3> +<ul class="seealso"> +<li><a href="#comments_section">Yorumlar</a></li></ul></div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CoreDumpDirectory" id="CoreDumpDirectory">CoreDumpDirectory</a> <a name="coredumpdirectory" id="coredumpdirectory">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td><code>core</code> dosyasını dökümlemek üzere Apache HTTP + Sunucusunun geçmeye çalışacağı dizin.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>CoreDumpDirectory <var>dizin</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Öntanımlı değer için aşağıdaki açıklamaya bakınız</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>Bu yönerge <code>core</code> dosyasını dökümlemek üzere Apache httpd’nin + geçmeye çalışacağı dizini belirler. Eğer işletim sisteminiz, çöken bir + sürecin olması durumunda <code>core</code> dosyasını çöken sürecin + çalışma dizinine yazacak şekilde yapılandırılmışsa, + <code class="directive">CoreDumpDirectory</code> yönergesinin değeri olarak, + öntanımlı olan ve sunucuyu çalıştıran kullanıcı tarafından yazılamayan + <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> dizini yerine başka bir + çalışma dizini belirtmek gerekir.</p> + + <p>Hata ayıklamak amacıyla bir <code>core</code> dosyası dökümlemek + isterseniz farklı bir yer belirtmek için bu yönergeyi + kullanabilirsiniz. Eğer işletim sisteminiz çöken bir sürecin olması + durumunda <code>core</code> dosyasını çöken sürecin çalışma dizinine + yazacak şekilde yapılandırılmamışsa, bu yönergenin bir etkisi olmaz.</p> + + <div class="warning"> + <h3>Linux sistemleri için güvenlik bilgisi</h3> + + <p>Bu yönergenin Linux'ta kullanılması, sistemdeki diğer işlemlerin + (benzer yetkilerle çalıştırılan CGI komut dosyaları gibi) + <code>ptrace</code> sistem çağrısı yoluyla httpd çocuklarına eklenmesine + izin verebilir. Bu, bazı güvenlik saldırılarına karşı korumayı + zayıflatabilir. Bu yönergenin üretim sistemlerinde kullanılması + önerilmez.</p> + </div> + + <div class="note"><h3>Linux üzerinde <code>core</code> dökümlemek</h3> + <p>Apache httpd root olarak başlatılıp başka bir kullanıcıya geçilirse + Linux çekirdeği, süreç tarafından yazılabilir olsa bile + <code>core</code> dökümlemeyi <em>iptal eder</em>. Eğer + <code class="directive">CoreDumpDirectory</code> yönergesi ile açıkça bir + dizin belirtirseniz, Apache httpd (2.0.46 ve sonraki sürümleri), Linux + 2.4 ve sonrasında <code>core</code> dökümlemeyi yeniden + etkinleştirecektir.</p> + </div> + + <div class="note"> + <h3>BSD üzerinde <code>core</code> dökümlemek</h3> + <p>BSD sistemlerinde (FreeBSD gibi) suid bitli çalıştırılabilirlerin + <code>core</code> dökümlemesini etkin kılmak için + <code>kern.sugid_coredump</code> değişkenine 1 değerini atayın. + </p> + </div> + + <div class="note"><h3>Özel sinyaller</h3> + <p><code class="directive">CoreDumpDirectory</code> işlemi sadece belli + sinyaller için gerçekleşir: SIGFPE, SIGILL, SIGABORT, SIGSEGV ve + SIGBUS.</p> + <p>Bazı işletim sistemlerinde SIGQUIT sinyali de bir <code>core</code> + dosyası dökümler ancak bunu <code class="directive">CoreDumpDirectory</code> + veya <code class="directive">EnableExceptionHook</code> işlemi üzerinden + yapmaz, dolayısıyla <code>core</code> dosyasının yeri tamamen işletim + sisteminin belirlediği yer olur.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableExceptionHook" id="EnableExceptionHook">EnableExceptionHook</a> <a name="enableexceptionhook" id="enableexceptionhook">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bir çöküş sonrası olağandışılık eylemcilerini çalıştıracak + kancayı etkin kılar.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>EnableExceptionHook On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>EnableExceptionHook Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p>Güvenlik sebebiyle bu yönerge sadece Apache + <code>--enable-exception-hook</code> seçeneği ile yapılandırılmışsa + kullanılabilir olacaktır. Bu, harici modüllerin eklenmesine ve bir çocuk + sürecin çöküşü sonrası bir şeyler yapmaya izin veren bir kancayı etkin + kılar.</p> + + <p>Bu kancayı kullanan iki modül (<code>mod_whatkilledus</code> ve + <code>mod_backtrace</code>) zaten vardır. bunlar hakkında daha fazla bilgi + edinmek için Jeff Trawick'in <a href="https://emptyhammock.com/projects/httpd/diag/">EnableExceptionHook site</a>sine bakabilirsiniz.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="GracefulShutdownTimeout" id="GracefulShutdownTimeout">GracefulShutdownTimeout</a> <a name="gracefulshutdowntimeout" id="gracefulshutdowntimeout">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucunun nazikçe kapatılmasının ardından ana süreç çıkana kadar + geçecek süre için bir zaman aşımı belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>GracefulShutdownTimeout <var>saniye</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>GracefulShutdownTimeout 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Sürüm 2.2 ve sonrasında mevcuttur</td></tr> +</table> + <p><code class="directive">GracefulShutdownTimeout</code> yönergesi, sunucuya + "nazikçe dur" sinyali gönderildikten sonra mevcut bağlantılara hizmet + sunmaya daha kaç saniye devam edebileceğini belirtir.</p> + + <p>Bu değerin <code>0</code> olarak belirtilmesi, sunucunun bekleyen bütün + isteklere hizmet sunumu tamamlanıncaya kadar (gerekirse sonsuza kadar) + bekleyebileceği anlamına gelir.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Listen" id="Listen">Listen</a> <a name="listen" id="listen">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucunun dinleyeceği IP adresini ve portu belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>Listen [<var>IP-adresi</var>:]<var>port-numarası</var> + [<var>protokol</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td><var>protokol</var> değiştirgesi 2.1.5 sürümünde + eklenmiştir.</td></tr> +</table> + <p><code class="directive">Listen</code> yönergesi Apache httpd’yi sadece belli IP + adreslerini ve portlarını dinlemeye sevkeder. + <code class="directive">Listen</code> artık belirtilmesi zorunlu yönergelerden + biridir. Yapılandırma dosyasında bulunmadığı takdirde sunucu + başlatılırken başarısız olacaktır. Bu Apache HTTP Sunucusunun önceki + sürümünde böyle değildi.</p> + + <p><code class="directive">Listen</code> yönergesi Apache httpd’ye, sadece belli + portlardan veya IP adresi ve port çiftlerinden gelen istekleri kabul + etmesini söyler. Eğer sadece port numarası belirtilmişse sunucu + belirtilen portu bütün ağ arabirimlerinde dinleyecektir. Eğer portla + birlikte bir IP adresi de belirtilmişse, sunucu belirtilen portu sadece + belirtilen arabirimden dinleyecektir.</p> + + <p>Çok sayıda IP adresi ve port belirtmek için çok sayıda + <code class="directive">Listen</code> yönergesi kullanılabilir. Sunucu bu + durumda belirtilen bütün IP adreslerinden ve portlardan gelecek + isteklere yanıt verecektir.</p> + + <p>Örneğin sunucunun hem port 80 hem de port 8000’den istek kabul etmesini + istiyorsanız bunu şöyle belirtebilirsiniz:</p> + + <pre class="prettyprint lang-config">Listen 80 +Listen 8000</pre> + + + <p>Sunucunun belirtilen iki ağ arabiriminden ve port numarasından gelen + bağlantıları kabul etmesi için şu yapılandırmayı kullanabilirsiniz:</p> + + <pre class="prettyprint lang-config">Listen 192.170.2.1:80 +Listen 192.170.2.5:8000</pre> + + + <p>IPv6 adresleri belirtilirken örnekteki gibi köşeli ayraçlar arasına + alınmalıdır:</p> + + <pre class="prettyprint lang-config">Listen [2001:db8::a00:20ff:fea7:ccea]:80</pre> + + + <p>İsteğe bağlı <var>protocol</var> argümanı çoğu yapılandırmada gerekli + değildir. Belirtilmediği takdirde. port 443 için <code>https</code> ve + tüm diğer portlar için <code>http</code> öntanımlıdır. Protokol, isteği + hangi modülün elde edeceğinin ve <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code> yönergesi ile protokole özgü + hangi en iyilemelerin uygulanacağının saptanmasında kullanılır.</p> + + <p>Protokol belirtme ihtiyacını sadece standartdışı portlar + çalıştırıyorsanız duyarsınız. Örneğin, port 8443 üzerinde bir + <code>https</code> sitesi çalıştırmak istiyorsanız bunu şöyle + belirtebilirsiniz:</p> + + <pre class="prettyprint lang-config">Listen 192.170.2.1:8443 https</pre> + + + <div class="note"><h3>Hata durumu</h3> + Aynı IP adresi ve portun çok sayıda <code class="directive">Listen</code> + yönergesinde belirtilmesi bir "adres kullanımda" (<code>Address already + in use</code>) hatasına yol açar. + </div> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../dns-caveats.html">DNS ve Apache ile ilgili Konular</a> </li> +<li><a href="../bind.html">Apache HTTP Sunucusunun Kullandığı Adreslerin + ve Portların Ayarlanması</a></li> +<li><a href="http://wiki.apache.org/httpd/CouldNotBindToAddress"><code>Address already in use</code> hata iletisinin ve diğer sebeplerin +açıklaması</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ListenBackLog" id="ListenBackLog">ListenBackLog</a> <a name="listenbacklog" id="listenbacklog">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Bekleyen bağlantılar kuyruğunun azami uzunluğunu + belirler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ListenBackLog <var>kuyruk-uzunluğu</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>ListenBackLog 511</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>Bekleyen bağlantılar kuyruğunun azami uzunluğu. Genellikle bu ayar ne + gerekir ne de istenir. Ancak bazı sistemlerde TCP SYN yüklenme + saldırılarına karşı bu değerin arttırılması gerekebilir. + <var>kuyruk-uzunluğu</var> parametresi için <code>listen(2)</code> + işlevinin açıklamasına bakınız.</p> + + <p>Bu değer çoğunlukla işletim sistemi tarafından daha küçük bir sayıyla + sınırlanır. Bu, işletim sistemine bağlı olarak değişiklik gösterir. + Ayrıca, çoğu işletim sisteminin <var>kuyruk-uzunluğu</var> parametresi + ile ne belirttiğinize bakmaksızın kendisi için atanmış değeri (fakat + normal olarak daha büyüğünü) kullanacağına dikkat ediniz.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ListenCoresBucketsRatio" id="ListenCoresBucketsRatio">ListenCoresBucketsRatio</a> <a name="listencoresbucketsratio" id="listencoresbucketsratio">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İşlemci çekirdek sayısının dinleyenlerin buket sayısına oranı</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ListenCoresBucketsRatio <var>oran</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>ListenCoresBucketsRatio 0 (iptal)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache HTTP Server 2.4.17 ve sonrasında, + <code>SO_REUSEPORT</code> soket seçeneğini destekleyen bir Linux çekirdeğinin + varlığında ve yeni bağlantıların bunu kullanan dinleme süreçlerinin (veya + evrelerinin) soketleri arasında eşit paylaştırılıyor olması halinde + kullanılır. Örneğin Linux 3.9 ve sonrasında kullanılabilirken *BSD'lerin şu + anki <code>SO_REUSEPORT</code> gerçeklenimi ile kullanılamaz.</td></tr> +</table> + <p>(çevrimiçi) İşlemci çekirdek sayısının dinleyenlerin buket sayısına + <var>oran</var>ı, Apache HTTP Sunucusunun <code>işlemci_çekirdek_sayısı / + oran</code> sayıda dinleme buketi oluşturması için kullanılabilir ve bu + buketlerin herbiri aynı portlar üzerinde kendi <code class="directive"><a href="#listen">Listen</a></code> soketlerini içeriyor olurlar. + Bu durumda, her çocuk süreç tek bir buketle çalışır (çocukların + oluşturulması sırasında buketler döner dağılımla eşleştirilir).</p> + + <div class="note"><h3>"çevrimiçi" İşlemci çekirdek sayısının anlamı</h3> + <p>Linux için (ve ayrıca BSD) bir işlemci çekirdeği <a href="https://www.kernel.org/doc/Documentation/cpu- hotplug.txt">Hotplug</a> yapılandırılarak açılıp kapatıalbilir. + Dolayısıyla, <code class="directive">ListenCoresBucketsRatio</code> yönergesi + oluşturulacak buket sayısını hesaplarken bu yapılandırmayı esas alır.</p> + </div> + + <p><code class="directive">ListenCoresBucketsRatio</code> yeni bağlantılar kabul + edilirken/darboğazlar oluşurken ölçeklenebilirliği arttırabilir. Çok + sayıda işlemci çekirdekli sistemlerde bu özelliğin etkinleştirilmesinin + önemli başarım artışları ve daha kısa yanıt süreleri oluşturduğu + gözlenmiştir.</p> + + <p>Bu <var>oran</var>ın etkin olabilmesi için işlemci çekirdeği çift sayıda + olmalıdır. <var>oran</var> için önerilen değer <code>8</code> olup bu + durumda çalışma anında en azından <code>16</code> çekirdek + kullanılabiliyor olmalıdır. En iyi başarımı elde etmek gereken + <var>oran</var> her sistem için hesaplanmalı, çok sayıda değer denenmeli + ve başlıca başarım ölçütlerinizin çeşitli sonuçları iyi gözlemlenmelidir. + </p> + + <p>Bu yönerge aşağı yuvarlanan + <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> ve + <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code> değerlerinin + hesabını etkiler. Bağlantıları en uygun şekilde kabul etmek için çocuk + süreçlerin sayısının buket sayısının katları olması gerekir.</p> + + <div class="note"> + <h3>Çok sayıda <code class="directive">Listen</code> veya aynı adres veya port + üstünda çok sayıda Apache HTTP sunucusu</h3> + <p>Dinleyen soketler üzerinde <code>SO_REUSEPORT</code> seçeneğini tanımlamak + normal bir durumda sistem tarafından oluşturulmuş bir bağlama hatası + olmaksızın çok sayıda sürecin aynı adres ve porta bağlanması sonucunu + doğurur.</p> + <p>Bu ayrıca pozitif bir <code class="directive">ListenCoresBucketsRatio</code> + değeriyle aynı <code>IP:port</code> üzerinde yapılandırılmış çok sayıda + Apache httpd örneğinin hatasız başlamasının yanında gelen çağrıların her + iki örneğe eşit olarak dağıtılacağı anlamına da gelir. (Bu, + herhangi bir durumda bir öneri veya makul bir kullanım DEĞİL, böyle bir + olası sorunun algılanmasının engelleneceğine dair bir uyarıdır.)</p> + <p>Aynı örnek dahilinde, çok sayıda <code class="directive">Listen</code> + yönergesinin tam olarak aynı IP ve port üzerinde yapılandırılması durumunda + Apache httpd gerekli sınamaları yaptıktan sonra başlamayacak, böylelikle + birbirinin benzeri çok sayıda kullanışsız buketin oluşturulması + engellenecektir. Ancak, olası tüm örtüşmeler (bir konak adının başka bir + yerde kullanılmış bir IP'ye çözümlenmesi gibi) yakalanamayacaktır.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxConnectionsPerChild" id="MaxConnectionsPerChild">MaxConnectionsPerChild</a> <a name="maxconnectionsperchild" id="maxconnectionsperchild">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Tek bir çocuk sürecin ömrü boyunca işleme sokabileceği istek + sayısını sınırlamakta kullanılır.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MaxConnectionsPerChild <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>MaxConnectionsPerChild 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache HTTP Sunucusunun 2.3.9 ve sonraki sürümlerinde + kullanılabilmektedir. Eski isim <code>MaxRequestsPerChild</code> hala + desteklenmektedir.</td></tr> +</table> + <p><code class="directive">MaxConnectionsPerChild</code> yönergesi, tek bir çocuk + sürecin işleme sokabileceği istek sayısını sınırlamakta kullanılır. + <code class="directive">MaxConnectionsPerChild</code> istekten sonra çocuk süreç + ölür. Eğer <code class="directive">MaxConnectionsPerChild</code> için + <code>0</code> belirtilmişse sürecin ömrü sonsuz olacaktır.</p> + + <p><code class="directive">MaxConnectionsPerChild</code> için sıfırdan farklı bir + değer belirtilmesi sürecin kullanacağı bellek miktarını sınırlamak + suretiyle olası bellek sızıntılarını engeller.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxMemFree" id="MaxMemFree">MaxMemFree</a> <a name="maxmemfree" id="maxmemfree">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td><code>free()</code> çağrılmaksızın ana bellek ayırıcının + ayırmasına izin verilen azami bellek miktarını belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MaxMemFree <var>kB-sayısı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>MaxMemFree 2048</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code></td></tr> +</table> + <p><code class="directive">MaxMemFree</code> yönergesi, <code>free()</code> + çağrılmaksızın her bellek ayırıcının ayırmasına izin verilen azami + bellek miktarını kB cinsinden belirler. Evreli MPM'lerde her evre kendi + ayırıcısına sahiptir. <code>0</code> değeri belirtildiğinde eşik sınırsız + olacaktır.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxRequestWorkers" id="MaxRequestWorkers">MaxRequestWorkers</a> <a name="maxrequestworkers" id="maxrequestworkers">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Aynı anda işleme sokulacak azami bağlantı sayısı</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MaxRequestWorkers <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Ayrıntılar için aşağıdaki açıklamaya bakınız.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p><code class="directive">MaxRequestWorkers</code> yönergesi aynı anda işleme + sokulacak bağlantı sayısını sınırlamak için kullanılır. <code class="directive">MaxRequestWorkers</code> bağlantı isteğinden fazlası geldiği + takdirde bu istekler normal olarak kuyruğa alınıp bekletilir. Kuyrukta + bekletilecek isteklerin azami sayısı ise <code class="directive"><a href="#listenbacklog">ListenBacklog</a></code> yönergesi ile belirlenir. İstek sunmakta olan + çocuk süreçlerden biri serbest kaldığında bekletilen bağlantılardan + birine hizmet sunulmaya başlanır.</p> + + <p>Evreli olmayan sunucularda (<code class="module"><a href="../mod/prefork.html">prefork</a></code> gibi) + <code class="directive">MaxRequestWorkers</code> yönergesi istekleri sunmak için + başlatılacak çocuk süreçlerin azami sayısını belirler. Öntanımlı değer + 256 olup bu değeri arttırmak isterseniz <code class="directive"><a href="#serverlimit">ServerLimit</a></code> değerini de + arttırmalısınız.</p> + + <p>Çok evreli ve melez sunucularda (<code class="module"><a href="../mod/event.html">event</a></code> veya + <code class="module"><a href="../mod/worker.html">worker</a></code> gibi) <code class="directive">MaxRequestWorkers</code> + yönergesi istemcilere hizmet verecek evre sayısını sınırlar. Öntanımlı + değer melez MPM’ler için 16'dır + (<code class="directive"><a href="#serverlimit">ServerLimit</a></code> ile <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> çarpılır: <code>16 x + 25</code>). Bu bakımdan <code class="directive">MaxRequestWorkers</code> değerini + 16 süreçten fazlasına ayarlamak için <code class="directive"><a href="#serverlimit">ServerLimit</a></code> değerini de arttırmalısınız.</p> + + <p><code class="directive">MaxRequestWorkers</code> yerine 2.3.13 öncesinde + <code class="directive">MaxClients</code> kullanılırdı. Eski isim hala + desteklenmektedir.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxSpareThreads" id="MaxSpareThreads">MaxSpareThreads</a> <a name="maxsparethreads" id="maxsparethreads">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Boştaki azami evre sayısını belirler</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MaxSpareThreads <var>number</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Ayrıntılar için aşağıdaki açıklamaya bakınız.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>Boştaki azami evre sayısı. Her MPM bu yönerge karşısında farklı + davranır.</p> + + <p><code class="module"><a href="../mod/worker.html">worker</a></code> ve <code class="module"><a href="../mod/event.html">event</a></code> için + <code>MaxSpareThreads 250</code> öntanımlıdır. Bu MPM'ler boştaki + evreleri sunucu genelinde izler. Eğer sunucuda çok fazla boşta evre + varsa, sunucu boştaki evrelerin sayısı bu sınırın altına inene kadar + çocuk süreçleri öldürür. + <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> + yönergesi etkinse ek süreçler/evreler oluşabilir.</p> + + <p><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> için <code>MaxSpareThreads 100</code> + öntanımlıdır. Bu MPM tek bir süreç olarak çalıştığından boştaki evre + sayısı aynı zamanda sunucu genelinde boştaki evre sayısıdır.</p> + + <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> modülü <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> modülü + gibi çalışır. <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> için öntanımlı değer + <code>10</code>'dur.</p> + + <div class="note"><h3>Kısıtlamalar</h3> + <p><code class="directive">MaxSpareThreads</code> için değer aralığı sınırlıdır. + Apache httpd belirtilen değeri aşağıdaki kurallara uygun olarak + kendiliğinden düzeltecektir:</p> + <ul> + <li><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> modülü, değerin <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> değerinden küçük + olmasını gerektirir.</li> + + <li><code class="module"><a href="../mod/worker.html">worker</a></code> ve <code class="module"><a href="../mod/event.html">event</a></code> için değer, + <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> + ve <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> + toplamına eşit veya büyük olmak zorundadır.</li> + </ul> + </div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +<li><code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MinSpareThreads" id="MinSpareThreads">MinSpareThreads</a> <a name="minsparethreads" id="minsparethreads">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İsteklerin ani artışında devreye girecek boştaki evrelerin asgari + sayısını belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>MinSpareThreads <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Ayrıntılar için aşağıdaki açıklamaya bakınız.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>İsteklerin ani artışında devreye girecek boştaki evrelerin asgari + sayısı. Her MPM bu yönerge karşısında farklı davranır.</p> + + <p><code class="module"><a href="../mod/worker.html">worker</a></code> ve <code class="module"><a href="../mod/event.html">event</a></code> modülü için + <code>MinSpareThreads 75</code> öntanımlıdır ve bu modül boştaki evreleri + sunucu genelinde izler. Eğer sunucuda boştaki evre sayısı yetersizse, + sunucu, boştaki evrelerin sayısı bu sınırın üstüne çıkana kadar çocuk + süreç oluşturur. + <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> + yönergesi etkinse ek süreçler/evreler oluşabilir.</p> + + <p><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> için <code>MinSpareThreads 10</code> + öntanımlıdır ve tek süreç kendisi olduğundan izleme sunucu genelinde + yapılır.</p> + + <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> modülü <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> modülü + gibi çalışır. <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> için öntanımlı değer + <code>5</code>'tir.</p> + + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code></li> +<li><code class="directive"><a href="#startservers">StartServers</a></code></li> +<li><code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="PidFile" id="PidFile">PidFile</a> <a name="pidfile" id="pidfile">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ana sürecin süreç kimliğinin (PID) kaydedileceği dosyayı belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>PidFile <var>dosya</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>PidFile logs/httpd.pid</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p><code class="directive">PidFile</code> yönergesi, sunucunun artalan sürecinin + süreç kimliğinin kaydedileceği dosyayı belirler. Dosya ismi mutlak dosya + yoluyla belirtilmemişse dosya yolunun <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> dizinine göre belirtildiği kabul + edilir.</p> + + <pre class="prettyprint lang-config">PidFile /var/run/apache.pid</pre> + + + <p>Sunucuya sinyal gönderebilmek çoğunlukla işe yarar. Böylece <code class="directive"><a href="../mod/core.html#errorlog">ErrorLog</a></code> ve <code class="directive"><a href="../mod/mod_log_config.html#transferlog">TransferLog</a></code> dosyaları kapatılıp + yeniden açılır ve yapılandırma dosyaları yeniden okunur. Bu, + <code class="directive">PidFile</code> dosyasında belirtilen süreç kimliğine bir + SIGHUP (kill -1) sinyali gönderilerek yapılır.</p> + + <p>Günlük dosyasının yeri ve <a href="../misc/security_tips.html#serverroot">güvenlik</a> ile ilgili + uyarılar <code class="directive">PidFile</code> dosyası içinde sözkonusu + olabilir.</p> + + <div class="note"><h3>Ek Bilgi</h3> + <p>Apache HTTP Sunucusunu (yeniden) başlatırken veya durdururken sadece + <code class="program"><a href="../programs/apachectl.html">apachectl</a></code> betiğini kullanmanız önerilir.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ReceiveBufferSize" id="ReceiveBufferSize">ReceiveBufferSize</a> <a name="receivebuffersize" id="receivebuffersize">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>TCP alım tamponu boyu</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ReceiveBufferSize <var>bayt-sayısı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>ReceiveBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>Sunucunun TCP alım tamponu boyunu <var>bayt-sayısı</var> ile belirtilen + bayta ayarlar.</p> + + <p><code>0</code> değeri atarsanız sunucu işletim sistemi öntanımlısını + kullanacaktır.</p> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScoreBoardFile" id="ScoreBoardFile">ScoreBoardFile</a> <a name="scoreboardfile" id="scoreboardfile">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Çocuk süreçler için eşgüdüm verisini saklamakta kullanılan + dosyanın yerini belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ScoreBoardFile <var>dosya-yolu</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>ScoreBoardFile logs/apache_runtime_status</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>Apache HTTP Sunucusu ana ve çocuk süreçler arasında iletişim için bir + çetele tutar. + Bazı mimariler bu iletişimi kolaylaştırmak için bir dosya gerektirir. + Eğer yönerge belirtilmezse Apache httpd çeteleyi önce tamamen bellekte + oluşturmayı dener (anonim paylaşımlı bellek kullanarak); bunda başarılı + olamazsa dosyayı diskte oluşturmaya çalışacaktır (paylaşımlı belleğe + eşlemli dosya kullanarak). Bu yönergenin belirtilmesi Apache httpd'nin + dosyayı daima diskte oluşturmasına sebep olur.</p> + + <pre class="prettyprint lang-config">ScoreBoardFile /var/run/apache_status</pre> + + + <p>Paylaşımlı belleğe eşlemli dosya, çeteleye doğrudan erişmesi gereken + üçüncü parti uygulamalar için yararlıdır.</p> + + <p>Eğer <code class="directive">ScoreBoardFile</code> yönergesi ile bir dosya + belirtecekseniz, dosyayı bir RAM diske yerleştirerek hız artışı + sağlayabilirsiniz. Fakat, günlük dosyası yerleştirme ve <a href="../misc/security_tips.html">güvenlik</a> ile ilgili uyarılara + benzer uyarılara karşı dikkatli olunuz.</p> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../stopping.html">Apache HTTP Sunucusunu Durdurma ve Yeniden + Başlatma</a> </li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SendBufferSize" id="SendBufferSize">SendBufferSize</a> <a name="sendbuffersize" id="sendbuffersize">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>TCP tamponu boyu</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>SendBufferSize <var>bayt-sayısı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>SendBufferSize 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p>Sunucu TCP gönderim tamponu boyunu <var>bayt-sayısı</var> ile + belirtilen bayta ayarlayacaktır. Yüksek hızlı yüksek yataklık süreli + bağlantılarda işletim sisteminin öntanımlı değerini aşacak şekilde (örn, + kıtalararası hızlı hatlarda 100ms veya fazlası) ayarlamak çoğunlukla + kullanışlıdır.</p> + + <p><code>0</code> değeri atarsanız sunucu işletim sistemi öntanımlısını + kullanacaktır.</p> + + <p>İşletim sisteminizin ilaveten yapılandırılması, yüksek hız, yüksek + gecikme bağlantılarında daha yüksek başarım elde etmek için gerekli + olabilir.</p> + + <div class="note"><p>Bazı işletim sistemlerinde, TCP davranışı, <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code> yönergesine <code>Off</code> + değeri atanmadıkça görülemeyen, büyükçe bir + <code class="directive">SendBufferSize</code> değerinden kaynaklanarak değişir. + Bu etkileşim sadece duruk dosyalarda görülür.</p> </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerLimit" id="ServerLimit">ServerLimit</a> <a name="serverlimit" id="serverlimit">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Ayarlanabilir süreç sayısının üst sınırını belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ServerLimit <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Ayrıntılar için aşağıdaki açıklamaya bakınız.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code></td></tr> +</table> + <p><code class="module"><a href="../mod/prefork.html">prefork</a></code> modülü söz konusu olduğunda bu yönerge, Apache + httpd sürecinin ömrü boyunca <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> yönergesine atanabilecek + azami değeri belirler. <code class="module"><a href="../mod/worker.html">worker</a></code> ve <code class="module"><a href="../mod/event.html">event</a></code> + modülü sözkonusu + olduğunda ise, Apache httpd sürecinin ömrü boyunca <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> yönergesine + atanabilecek azami değeri <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> ile birlikte belirler. <code class="module"><a href="../mod/event.html">event</a></code> modülü + için bu yönerge kaç eski sunucunun çalışmayı sürdüreceğini ve kaçının açık + bağlantıları işlemeyi bitireceğini belirler. Bu yönergeyi bir yeniden + başlatma sırasında değiştirirseniz bu değişiklik yok sayılır fakat + <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> + değişiklikleri dikkate alınır.</p> + + <p>Bu yönergenin kullanılması özel bir dikkat gerektirir. Eğer + <code class="directive">ServerLimit</code> gereğinden yüksek bir değere + ayarlanırsa, gereksiz yere paylaşımlı bellek ayrılmış olur. Eğer + <code class="directive">ServerLimit</code> ve <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> değerleri sistemin + işleyebileceğinden daha yüksek değerlere ayarlanırsa Apache httpd + başlayamayacağı gibi sistemi kararsız hale de getirebilir.</p> + + <p>Bu yönergeyi <code class="module"><a href="../mod/prefork.html">prefork</a></code> modülü ile sadece <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> yönergesine 256’dan + (öntanımlı) daha büyük bir değer atayacaksanız kullanınız. Bu yönergeye + <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> için atamak + istediğiniz değerden fazlasını atamayınız.</p> + + <p><code class="module"><a href="../mod/worker.html">worker</a></code> modülü söz konusu olduğunda bu yönergeyi + <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> ve + <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> ayarları 16 + sunucu sürecinden (16 öntanımlıdır) fazlasını gerektiriyorsa + ayarlayınız. Bu yönergeye <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> ve <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> için gerekli gördüğünüz sunucu süreci + sayısından fazlasını atamayınız.</p> + + <p><code class="module"><a href="../mod/event.html">event</a></code> modülü söz konusu olduğunda, <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> ve <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> yönergeleri ile belirlenen + süreç sayısına ek olarak zarifçe kapatılan süreçlerin sayısıyla arttırıp 16 + sunucu sürecinden (16 öntanımlıdır) fazlasına ayarlayınız.</p> + + <div class="note"><h3>Ek Bilgi</h3> + <p>Sunucu içinde derlenmiş olarak <code>ServerLimit 20000</code> + şeklinde bir zorlayıcı sınır vardır (<code class="module"><a href="../mod/prefork.html">prefork</a></code> için + 200000’dir). Bu önlem, yazım hatalarının istenmeyen sonuçlara yol + açmasını engellemek için düşünülmüştür. Bu sınırı daha da arttırmak + için mpm kaynak dosyasındaki MAX_SERVER_LIMIT değerini değiştirip + sunucuyu yeniden derlemeniz gerekir.</p> + </div> + +<h3>Ayrıca bakınız:</h3> +<ul> +<li><a href="../stopping.html">Apache HTTP Sunucusunu Durdurma ve Yeniden + Başlatma</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StartServers" id="StartServers">StartServers</a> <a name="startservers" id="startservers">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucunun başlatılması sırasında oluşturulan çocuk süreçlerin + sayısını belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>StartServers <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Ayrıntılar için aşağıdaki açıklamaya bakınız.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/prefork.html">prefork</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +</table> + <p><code class="directive">StartServers</code> yönergesi, sunucunun başlatılması + sırasında oluşturulan çocuk süreçlerin sayısını belirler. Süreç sayısı + normal olarak yüke bağlı olarak değişse de bu değerin ayarlanmasını + gerektirecek küçük bir sebep vardır. + (<code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>, + <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>, + <code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code>, + <code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code> yönergelerine + bakınız.)</p> + + <p>Öntanımlı değer MPM’den MPM’e fark eder. Öntanımlı değer + <code class="module"><a href="../mod/worker.html">worker</a></code> ve <code class="module"><a href="../mod/event.html">event</a></code> için <code>3</code> + iken <code class="module"><a href="../mod/prefork.html">prefork</a></code> için <code>5</code>, + <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> için <code>2</code>'dir.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="StartThreads" id="StartThreads">StartThreads</a> <a name="startthreads" id="startthreads">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Sunucunun başlatılması sırasında oluşturulan evrelerin sayısını + belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>StartThreads <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Ayrıntılar için aşağıdaki açıklamaya bakınız.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code></td></tr> +</table> + <p><code class="directive">StartThreads</code> yönergesi, sunucunun başlatılması + sırasında oluşturulan evrelerin sayısını belirler. Evre sayısı normal + olarak yüke bağlı olarak değişse de bu değerin ayarlanmasını + gerektirecek küçük bir sebep vardır. + (<code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code>, + <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>, + <code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code>, + <code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code> yönergelerine + bakınız.)</p> + + <p><code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code> için <code>StartThreads 50</code> + öntanımlı olup, sadece tek bir süreç olduğundan, sunucunun başlatılması + sırasında oluşturulan evrelerin toplam sayısı <code>50</code>’dir.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadLimit" id="ThreadLimit">ThreadLimit</a> <a name="threadlimit" id="threadlimit">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Çocuk süreç başına ayarlanabilir evre sayısının üst sınırını + belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ThreadLimit <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Ayrıntılar için aşağıdaki açıklamaya bakınız.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>Bu yönerge, Apache httpd sürecinin ömrü boyunca <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> yönergesine + atanabilecek azami değeri belirler. Bu yönergeyi bir yeniden başlatma + sırasında değiştirirseniz bu değişiklik yok sayılır fakat <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> değişiklikleri dikkate + alınır.</p> + + <p>Bu yönergenin kullanılması özel bir dikkat gerektirir. Eğer + <code class="directive">ThreadLimit</code> değeri <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> değerinden yüksek bir + değere ayarlanırsa, gereksiz yere paylaşımlı bellek ayrılmış olur. Eğer + <code class="directive">ThreadLimit</code> ve <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> değerleri sistemin + işleyebileceğinden daha yüksek değerlere ayarlanırsa Apache httpd + başlayamayacağı gibi sistemi kararsız hale de getirebilir. Bu yönergeye + Apache httpd'nin çalışması için öngörülmüş en büyük değerden daha + yükseğini atamayınız.</p> + + <p><code class="directive">ThreadLimit</code> yönergesinin öntanımlı değeri + <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> için <code>1920</code>, diğerleri için + <code>64</code>’tür.</p> + + <div class="note"><h3>Ek Bilgi</h3> + <p>Sunucu içinde derlenmiş olarak <code>ThreadLimit 20000</code> + şeklinde bir zorlayıcı sınır vardır (<code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> için + 15000, <code class="module"><a href="../mod/event.html">event</a></code> için <code>ThreadLimit 100000</code>). + Bu önlem, yazım hatalarının istenmeyen sonuçlara yol + açmasını engellemek için düşünülmüştür. Bu sınırı daha da arttırmak + için mpm kaynak dosyasındaki MAX_SERVER_LIMIT değerini değiştirip + sunucuyu yeniden derlemeniz gerekir.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadsPerChild" id="ThreadsPerChild">ThreadsPerChild</a> <a name="threadsperchild" id="threadsperchild">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Her çocuk süreç tarafından oluşturulan evrelerin sayısını + belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ThreadsPerChild <var>sayı</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>Ayrıntılar için aşağıdaki açıklamaya bakınız.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code></td></tr> +</table> + <p>Bu yönerge, her çocuk süreç tarafından oluşturulan evrelerin sayısını + belirler. Çocuk süreçler bu evreleri başlatıldıklarında oluştururlar ve + bundan daha fazlasını asla oluşturmazlar. <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> + gibi sadece bir çocuk sürecin bulunduğu bir MPM kullanıyorsanız, bu + sayı Apache httpd'nin tüm yükünü kaldırabilecek kadar büyük olmalıdır. + <code class="module"><a href="../mod/worker.html">worker</a></code> gibi çok çocuk süreçli bir MPM kullanıyorsanız, + <em>toplam</em> evre sayısı Apache httpd'nin tüm yükünü kaldırabilecek + kadar büyük olmalıdır.</p> + + <p><code class="directive">ThreadsPerChild</code> için öntanımlı değer + <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> kullanıldığında <code>64</code> diğerleri + için <code>25</code>’tir.</p> + + <p><code class="directive">ThreadsPerChild</code> değeri <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> değerini aşamaz. Eğer daha + yüksek bir değer verilirse sunucu başlatılırken düşürülür ve günlüğe bir + uyarı kaydedilir. Bu iki yönerge arasındaki ilişki <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> belgelsinde açıklanmıştır.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ThreadStackSize" id="ThreadStackSize">ThreadStackSize</a> <a name="threadstacksize" id="threadstacksize">Yönergesi</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>İstemci bağlantılarını elde eden evreler tarafından kullanılan + yığıtın bayt cinsinden uzunluğunu belirler.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>ThreadStackSize <var>boyut</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Öntanımlı:</a></th><td><code>NetWare üzerinde 65536; diğer işletim sistemlerinde + değişir.</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr> +<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>MPM</td></tr> +<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td><code class="module"><a href="../mod/event.html">event</a></code>, <code class="module"><a href="../mod/worker.html">worker</a></code>, <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code></td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Uyumluluk:</a></th><td>Apache HTTP Sunucusu 2.1 ve sonrasında + kullanılabilir.</td></tr> +</table> + <p><code class="directive">ThreadStackSize</code> yönergesi, istemci + bağlantılarını elde eden evreler ve bu bağlantıları işlemekte yardımcı + olan modül çağrıları tarafından kullanılan yığıtın bayt cinsinden + uzunluğunu belirler. Çoğu durumda işletim sistemi yığıtı uygun bir + boyuta ayarlar, fakat yine de ayarlanmasını gerektirecek bazı durumlar + olabilir:</p> + + <ul> + <li>HP-UX gibi görece küçük yığıt boyuna sahip platformlarda, Apache + httpd, görece büyük yığıt alanı kullanan bazı üçüncü parti modüller + yüzünden çökebilir. Bu modüller öntanımlı yığıt boyu daha büyük olan + diğer platformlarda sorunsuz çalışabilir. Bu tür çökmeler + <code class="directive">ThreadStackSize</code> yönergesine daha büyük yığıt + boyu atanarak çözümlenir. Böyle bir ayarlamayı sadece üçüncü parti + modülün üreticisi bunun gerekliliğini belirtmişse veya Apache httpd’nin + evre yığıt boyutunun küçüklüğünden dolayı çöktüğü teşhis edildiği + takdirde yapınız.</li> + + <li>Öntanımlı yığıt boyu Apache sunucusu için gerekenden belirgin + şekilde büyük bazı platformalarda, eğer + <code class="directive">ThreadStackSize</code> yönergesi ile bu boyuttan daha + düşük bir değer atanmışsa çocuk süreç başına evre sayısının yüksek + olduğu durumlarda bu yığıt yetmeyebilir. Böyle bir ayarlama sadece + sunucunun öldüresiye denendiği dolayısıyla yığıt boyutlarının aşırı + zorlandığı deneme ortamlarında yapılmalıdır. Gereken en küçük yığıt + boyutu kullanılan modüle sıkı sıkıya bağlıdır, fakat Apache httpd + yapılandırmasında yapılan bir değişiklik mevcut + <code class="directive">ThreadStackSize</code> ayarını geçersiz hale + getirebilir.</li> + + <li>Linux üzerinde, ilgili sistem çağrısı <em>en küçük</em> yığıt boyutu + olarak bu değeri kullanacağından, bu yönerge sadece öntanımlı yığıt + boyutunu arttırmak için kullanılabilir. <code>ulimit -s</code> için + (çoğunlukla büyükçe) soft sınır (sınırsızsa 8MB), öntanımlı yığıt + boyutu olarak kullanılır.</li> + </ul> + + <div class="note">Çocuk süreç başına yüksek bir evre sayısı gerekmedikçe + <code class="directive">ThreadStackSize</code> değerinin azaltılmaması önerilir. + Bazı platformlarda (Linux dahil), 128000 ayarı zaten çok düşüktür ve daha + da azaltmak bazı modüllerle çökmeye sebep olur.</div> + +</div> +</div> +<div class="bottomlang"> +<p><span>Mevcut Diller: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/mpm_common.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/mpm_common.html" title="Türkçe"> tr </a></p> +</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mpm_common.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p> +<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file |