1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
4 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7 This file is generated from xml source: DO NOT EDIT
8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10 <title>mpm_common - Serveur Apache HTTP Version 2.5</title>
11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <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" />
14 <script src="../style/scripts/prettify.min.js" type="text/javascript">
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
19 <div id="page-header">
20 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.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>
21 <p class="apache">Serveur Apache HTTP Version 2.5</p>
22 <img alt="" src="../images/feather.png" /></div>
23 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
25 <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.5</a> > <a href="./">Modules</a></div>
26 <div id="page-content">
27 <div id="preamble"><h1>Apache MPM : Directives Communes</h1>
29 <p><span>Langues Disponibles: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
30 <a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> |
31 <a href="../fr/mod/mpm_common.html" title="Français"> fr </a> |
32 <a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
33 <a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
35 <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
36 modules multi-processus (MPM)</td></tr>
37 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr></table>
39 <div id="quickview"><h3 class="directives">Directives</h3>
41 <li><img alt="" src="../images/down.gif" /> <a href="#accepterrorsnonfatal">AcceptErrorsNonFatal</a></li>
42 <li><img alt="" src="../images/down.gif" /> <a href="#coredumpdirectory">CoreDumpDirectory</a></li>
43 <li><img alt="" src="../images/down.gif" /> <a href="#enableexceptionhook">EnableExceptionHook</a></li>
44 <li><img alt="" src="../images/down.gif" /> <a href="#gracefulshutdowntimeout">GracefulShutdownTimeout</a></li>
45 <li><img alt="" src="../images/down.gif" /> <a href="#listen">Listen</a></li>
46 <li><img alt="" src="../images/down.gif" /> <a href="#listenbacklog">ListenBackLog</a></li>
47 <li><img alt="" src="../images/down.gif" /> <a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></li>
48 <li><img alt="" src="../images/down.gif" /> <a href="#maxconnectionsperchild">MaxConnectionsPerChild</a></li>
49 <li><img alt="" src="../images/down.gif" /> <a href="#maxmemfree">MaxMemFree</a></li>
50 <li><img alt="" src="../images/down.gif" /> <a href="#maxrequestworkers">MaxRequestWorkers</a></li>
51 <li><img alt="" src="../images/down.gif" /> <a href="#maxsparethreads">MaxSpareThreads</a></li>
52 <li><img alt="" src="../images/down.gif" /> <a href="#minsparethreads">MinSpareThreads</a></li>
53 <li><img alt="" src="../images/down.gif" /> <a href="#pidfile">PidFile</a></li>
54 <li><img alt="" src="../images/down.gif" /> <a href="#receivebuffersize">ReceiveBufferSize</a></li>
55 <li><img alt="" src="../images/down.gif" /> <a href="#scoreboardfile">ScoreBoardFile</a></li>
56 <li><img alt="" src="../images/down.gif" /> <a href="#sendbuffersize">SendBufferSize</a></li>
57 <li><img alt="" src="../images/down.gif" /> <a href="#serverlimit">ServerLimit</a></li>
58 <li><img alt="" src="../images/down.gif" /> <a href="#startservers">StartServers</a></li>
59 <li><img alt="" src="../images/down.gif" /> <a href="#startthreads">StartThreads</a></li>
60 <li><img alt="" src="../images/down.gif" /> <a href="#threadlimit">ThreadLimit</a></li>
61 <li><img alt="" src="../images/down.gif" /> <a href="#threadsperchild">ThreadsPerChild</a></li>
62 <li><img alt="" src="../images/down.gif" /> <a href="#threadstacksize">ThreadStackSize</a></li>
64 <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>
66 <li><a href="#comments_section">Commentaires</a></li></ul></div>
68 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
69 <div class="directive-section"><h2><a name="accepterrorsnonfatal" id="accepterrorsnonfatal">Directive</a> <a name="AcceptErrorsNonFatal" id="AcceptErrorsNonFatal">AcceptErrorsNonFatal</a><a title="Lien permanent" href="#accepterrorsnonfatal" class="permalink">¶</a></h2>
70 <table class="directive">
71 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Traite certaines erreurs lors de l'acceptation d'une nouvelle connexion comme
72 non fatales pour le processus httpd.</td></tr>
73 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AcceptErrorsNonFatal ON</code></td></tr>
74 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>OFF (les erreurs ECONNREFUSED, ECONNABORTED, ECONNRESET entraînent
75 alors la fermeture du processus httpd)</code></td></tr>
76 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
77 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
78 <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>
79 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.1 du serveur HTTP Apache</td></tr>
81 <p>La directive <code class="directive">AcceptErrorsNonFatal</code> permet de
82 modifier le comportement du serveur lorsque certaines erreurs
83 rares apparaissent lors de l'acceptation d'une nouvelle connexion avec un
84 client. Par défaut, le processus enfant qui traite la requête se terminera
85 en douceur pratiquement chaque fois qu'une erreur de socket apparaît au
86 cours de l'appel système accept(), ceci dans le but de s'assurer qu'un
87 processus enfant potentiellement endommagé ne tentera pas de prendre en
88 compte de nouvelles connexions.</p>
90 <p>Lorsque la directive <code class="directive">AcceptErrorsNonFatal</code> est à
91 "ON", le processus n'enclenchera <em>pas</em> sa procédure d'arrêt si
92 l'erreur accept() est ECONNREFUSED, ECONNABORTED, ou ECONNRESET.</p>
94 <div class="note">Certains composants de logiciels pare-feu tiers peuvent injecter des
95 erreurs dans le traitement de l'appel accept() en utilisant des codes de
96 retour non spécifés par le système d'exploitation.</div>
99 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
100 <div class="directive-section"><h2><a name="coredumpdirectory" id="coredumpdirectory">Directive</a> <a name="CoreDumpDirectory" id="CoreDumpDirectory">CoreDumpDirectory</a><a title="Lien permanent" href="#coredumpdirectory" class="permalink">¶</a></h2>
101 <table class="directive">
102 <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
103 positionner avant d'effectuer un vidage mémoire</td></tr>
104 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CoreDumpDirectory <var>répertoire</var></code></td></tr>
105 <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>
106 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
107 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
108 <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>
110 <p>Cette directive permet de définir le répertoire dans lequel
111 Apache httpd va tenter de se positionner avant d'effectuer un vidage
113 Si votre système d'exploitation est configuré pour créer des
114 fichiers de vidage mémoire dans le répertoire de travail des
115 processus qui se sont crashés,
116 <code class="directive">CoreDumpDirectory</code> est nécessaire pour
117 définir un répertoire de travail autre que le répertoire par défaut
118 <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>, ce répertoire de
119 travail ne devant pas être accessible en écriture par l'utilisateur sous
120 lequel le serveur s'exécute.</p>
122 <p>Si vous avez besoin d'un vidage mémoire pour le débogage, vous
123 pouvez utiliser cette directive pour le placer à un endroit
124 différent. Cette directive n'a aucun effet si votre système
125 d'exploitation n'est pas configuré pour créer des
126 fichiers de vidage mémoire dans le répertoire de travail des
127 processus qui se sont crashés.</p>
129 <div class="note"><h3>Vidages mémoire sous Linux</h3>
130 <p>Si Apache httpd est démarré sous l'utilisateur root puis bascule vers
131 un autre utilisateur, le noyau Linux <em>désactive</em> les
132 vidages mémoire, même si le répertoire est accessible en écriture au
133 processus. Apache httpd (versions 2.0.46 et supérieures) réactive les
134 vidages mémoire sous Linux 2.4 et au delà, mais seulement si vous
135 définissez une directive <code class="directive">CoreDumpDirectory</code>.</p>
139 <h3>Vidages mémoire sous BSD</h3>
140 <p>Pour activer le vidage mémoire des exécutables suid sur les
141 systèmes de style BSD (comme FreeBSD), définissez
142 <code>kern.sugid_coredump</code> à 1.
146 <div class="note"><h3>Signaux spécifiques</h3>
147 <p><code class="directive">CoreDumpDirectory</code> n'est traité qu'à la
148 reception d'un certain nombre de signaux , SIGFPE, SIGILL, SIGABORT,
149 SIGSEGV, et SIGBUS.</p>
151 Sur certains systèmes d'exploitation, SIGQUIT provoque aussi un
152 vidage mémoire, mais n'est pas traité par les directives
153 <code class="directive">CoreDumpDirectory</code> ou
154 <code class="directive">EnableExceptionHook</code>, si bien que la
155 définition du répertoire d'enregistrement du vidage mémoire est
156 entièrement dévolue au système d'exploitation.</p>
160 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
161 <div class="directive-section"><h2><a name="enableexceptionhook" id="enableexceptionhook">Directive</a> <a name="EnableExceptionHook" id="EnableExceptionHook">EnableExceptionHook</a><a title="Lien permanent" href="#enableexceptionhook" class="permalink">¶</a></h2>
162 <table class="directive">
163 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active un hook ("point d'accrochage logiciel") qui exécute des
164 gestionnaires d'exception après un crash</td></tr>
165 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableExceptionHook On|Off</code></td></tr>
166 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableExceptionHook Off</code></td></tr>
167 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
168 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
169 <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>
171 <p>Pour des raisons de sécurité, cette directive n'est disponible
172 que si la compilation du serveur a été configurée avec l'option
173 <code>--enable-exception-hook</code>. Elle permet d'activer un hook
174 ("point d'accrochage logiciel")
175 qui autorise certains modules externes à effectuer un branchement et
176 accomplir telle ou telle action après le crash d'un processus
179 <p>Deux modules, <code>mod_whatkilledus</code> et
180 <code>mod_backtrace</code> utilisent ce hook. Veuillez vous
181 référer à la <a href="https://emptyhammock.com/projects/httpd/diag/">page EnableExceptionHook</a> de Jeff Trawick pour plus
182 d'informations à leur sujet.</p>
185 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
186 <div class="directive-section"><h2><a name="gracefulshutdowntimeout" id="gracefulshutdowntimeout">Directive</a> <a name="GracefulShutdownTimeout" id="GracefulShutdownTimeout">GracefulShutdownTimeout</a><a title="Lien permanent" href="#gracefulshutdowntimeout" class="permalink">¶</a></h2>
187 <table class="directive">
188 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le délai maximum après lequel le serveur va
189 s'arrêter dans le cas d'un arrêt "en douceur"</td></tr>
190 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>GracefulShutdownTimeout <var>seconds</var></code></td></tr>
191 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>GracefulShutdownTimeout 0</code></td></tr>
192 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
193 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
194 <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>
196 <p>La directive <code class="directive">GracefulShutdownTimeout</code>
197 permet de spécifier le temps, en secondes, pendant lequel le serveur
198 va continuer à fonctionner après avoir reçu un signal
199 "graceful-stop" ("Arrêt en douceur"), afin de terminer le traitement
200 des connexions en cours.</p>
202 <p>Définir cette valeur à zéro signifie au serveur d'attendre
203 jusqu'à ce que toutes les requêtes en cours aient été traitées.</p>
206 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
207 <div class="directive-section"><h2><a name="listen" id="listen">Directive</a> <a name="Listen" id="Listen">Listen</a><a title="Lien permanent" href="#listen" class="permalink">¶</a></h2>
208 <table class="directive">
209 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les adresses IP et ports sur lesquels le serveur écoute</td></tr>
210 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Listen [<var>adresse IP</var>:]<var>numéro port</var>
211 [<var>protocole</var>]</code></td></tr>
212 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
213 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
214 <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>
216 <p>La directive <code class="directive">Listen</code> permet de signifier à
217 Apache httpd de ne se mettre à l'écoute que sur les adresses IP et ports spécifiés ; par
218 défaut, le serveur répond aux requêtes en provenance de toutes les
219 interfaces réseau. La directive <code class="directive">Listen</code> est
220 dorénavant requise, et si elle est absente du fichier de
221 configuration, le serveur refusera de démarrer. Ceci constitue un
222 changement par rapport aux versions précédentes d'Apache httpd.</p>
224 <p>La directive <code class="directive">Listen</code> signifie au serveur de
225 n'accepter les requêtes entrantes que vers le port ou le couple
226 adresse-port spécifié. Si seulement un port est spécifié, le serveur
227 se met à l'écoute sur ce port sur toutes les interfaces réseau. Si une adresse IP
228 et un port sont spécifiés, le serveur va se mettre à l'écoute sur ce port sur
229 l'interface réseau correspondant à l'adresse IP.</p>
231 <p>On peut utiliser autant de directives
232 <code class="directive">Listen</code> que nécessaire pour spécifier
233 plusieurs adresses et/ou ports à écouter. Le serveur répondra aux
234 requêtes vers tous les adresses et ports spécifiés.</p>
236 <p>Par exemple, pour que le serveur accepte les connexions sur les
237 ports 80 et 8000, utilisez :</p>
239 <pre class="prettyprint lang-config">Listen 80
243 <p>Pour que le serveur accepte les connexions sur deux interfaces et
244 ports particuliers, spécifiez :</p>
246 <pre class="prettyprint lang-config">Listen 192.170.2.1:80
247 Listen 192.170.2.5:8000</pre>
250 <p>Les adressee IPv6 doivent être entourées de crochets, comme dans
251 l'exemple suivant :</p>
253 <pre class="prettyprint lang-config">Listen [2001:db8::a00:20ff:fea7:ccea]:80</pre>
256 <p>L'argument optionnel <var>protocole</var> n'est pas nécessaire
257 dans la plupart des configurations. S'il est absent,
258 <code>https</code> est la valeur par défaut pour le port 443 et
259 <code>http</code> l'est pour tous les autres ports. L'argument
260 protocole sert à déterminer quel module doit traiter une requête, et
261 à appliquer des optimisations spécifiques à certains protocoles à
262 l'aide de la directive <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code>.</p>
264 <p>La spécification d'un protocole n'est nécessaire que si vous
265 utilisez des ports non standards. Par exemple, pour configurer un
266 site en <code>https</code> sur le port 8443 :</p>
268 <pre class="prettyprint lang-config">Listen 192.170.2.1:8443 https</pre>
271 <div class="note"><h3>Condition d'erreur</h3>
272 Plusieurs directives <code class="directive">Listen</code> pour les mêmes
273 adresse IP/port vont provoquer l'envoi d'un message d'erreur
274 <code>Address already in use</code>.
280 <li><a href="../dns-caveats.html">Problèmes avec DNS</a></li>
281 <li><a href="../bind.html">Définition des adresses et ports
282 qu'utilise le serveur HTTP Apache</a></li>
283 <li><a href="http://wiki.apache.org/httpd/CouldNotBindToAddress">Autre
284 discussion à propos du message d'erreur <code>Address already in
285 use</code>, citant d'autres causes possibles.</a></li>
288 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
289 <div class="directive-section"><h2><a name="listenbacklog" id="listenbacklog">Directive</a> <a name="ListenBackLog" id="ListenBackLog">ListenBackLog</a><a title="Lien permanent" href="#listenbacklog" class="permalink">¶</a></h2>
290 <table class="directive">
291 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Longueur maximale de la liste d'attente des
293 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ListenBacklog <var>backlog</var></code></td></tr>
294 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ListenBacklog 511</code></td></tr>
295 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
296 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
297 <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>
299 <p>La longueur maximale de la liste d'attente des connexions. En
300 général, aucune modification n'est nécessaire, ni même souhaitable ;
301 cependant, sur certains systèmes, il peut être nécessaire
302 d'en augmenter la valeur en cas d'attaque TCP SYN flood (envoi en
303 masse de requêtes SYN pour saturer le serveur). Voir le paramètre
304 backlog de l'appel système <code>listen(2)</code>.</p>
306 <p>En fait, l'argument backlog sera souvent limité à une valeur
307 inférieure en fonction du système d'exploitation. Notez aussi que de
308 nombreux systèmes d'exploitation ne tiennent pas vraiment compte de
309 la valeur spécifiée pour l'argument backlog, mais s'en inspirent
310 seulement (et choisissent en général une valeur supérieure).</p>
313 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
314 <div class="directive-section"><h2><a name="listencoresbucketsratio" id="listencoresbucketsratio">Directive</a> <a name="ListenCoresBucketsRatio" id="ListenCoresBucketsRatio">ListenCoresBucketsRatio</a><a title="Lien permanent" href="#listencoresbucketsratio" class="permalink">¶</a></h2>
315 <table class="directive">
316 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Rapport entre le nombre de coeurs de processeur activés et
317 le nombre de segments d'écoute</td></tr>
318 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ListenCoresBucketsRatio <var>ratio</var></code></td></tr>
319 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ListenCoresBucketsRatio 0 (disabled)</code></td></tr>
320 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
321 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
322 <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>
323 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.13 du serveur HTTP
324 Apache, avec un noyau supportant l'option de socket
325 <code>SO_REUSEPORT</code>, et distribuant uniformément les nouvelles
326 connexions aux sockets d'écoute des processus (ou threads) qui
327 l'utilisent (par exemple Linux versions 3.9 et ultérieures, mais pas
328 l'implémentation courante de <code>SO_REUSEPORT</code> par les
329 plateformes de type BSD.</td></tr>
331 <p>Vous pouvez utiliser la directive
332 <code class="directive">ListenCoresBucketsRatio</code> pour spécifier un
333 <var>ratio</var> entre le nombre de coeurs de CPU activés et le
334 nombre de segments d'écoute (listeners' buckets) souhaités ; le
335 serveur HTTP Apache va alors créer<code>num_cpu_cores / ratio</code>
336 segments d'écoute, chacun contenant son propre socket d'écoute
337 <code class="directive">Listen</code> sur le ou les mêmes ports ; chaque
338 processus enfant sera associé à un seul segment d'écoute (avec une
339 distribution de type round-robin des segments à la création des
340 processus enfants).</p>
342 <div class="note"><h3>Définition du terme coeur de CPU activé ("online")</h3>
343 <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>
344 a été configuré ; la directive
345 <code class="directive">ListenCoresBucketsRatio</code> doit donc tenir compte de ce
346 paramètre pour calculer le nombre de segments d'écoute à créer.</p>
349 <p>La directive <code class="directive">ListenCoresBucketsRatio</code> peut
350 améliorer le support de la montée en charge lorsque l'arrivée de
351 nouvelles connexions est/devient un goulot d'étranglement. Le test
352 de cette fonctionnalité avec des machines possédant un nombre de
353 coeurs de CPU important a permit de constater une amélioration des
354 performances significative et des temps de réponse plus courts.</p>
356 <p>Pour que cette fonctionnalité soit activée, le nombre de coeurs
357 de CPU doit être égal au moins au double du <var>ratio</var>
358 spécifié. Si vous spécifiez la valeur recommandée pour
359 <var>ratio</var>, à savoir <code>8</code>, le nombre minimum de
360 coeurs de processeurs disponibles sera alors de <code>16</code>. La valeur
361 optimale de <var>ratio</var> permettant d'obtenir des performances maximales
362 doit être calculée pour chaque système cible, en testant plusieurs valeurs
363 et en observant les résultats.</p>
365 <p>Cette directive influence le calcul des valeurs limites inférieures de
366 <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> et <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>. En effet, pour accepter les
367 connexions de manière optimale, le nombre de processus enfants doit être un
368 multiple du nombre de segments d'écoute.</p>
371 <h3>Cas où plusieurs <code class="directive">Listen</code>ers ou serveurs HTTP
372 Apache partagent la même adresse IP et port</h3>
373 <p>La définition de l'option <code>SO_REUSEPORT</code> pour les sockets
374 d'écoute permet à plusieurs processus (partageant le même <code>EUID</code>,
375 par exemple <code>root</code>) de se rattacher à la même adresse IP et port,
376 sans obtenir l'erreur de rattachement que le système génère habituellement
377 lorsque ce cas se produit.</p>
378 <p>Cela signifie aussi que plusieurs instances d'Apache httpd configurées
379 avec le même <code>IP:port</code> et avec une valeur
380 <code class="directive">ListenCoresBucketsRatio</code> positive pourraient démarrer
381 sans erreur, et fonctionner ensuite avec une répartition uniforme des
382 connexions entrantes sur ces différentes instances (ce n'est PAS une
383 recommandation et ne constitue pas un usage approprié à tous les cas, mais
384 juste un avertissement sur le fait qu'un véritable problème de rattachement
385 multiple à un <code>IP:port</code> pourrait alors être occulté).</p>
386 <p>Au sein d'une même instance, Apache httpd vérifie la présence de
387 directives <code class="directive">Listen</code> multiples avec la même adresse IP
388 (ou nom d'hôte) et le même port, et refuse de démarrer si c'est le cas, ce
389 qui permet d'éviter la création de segments d'écoute dupliqués qui seraient
390 du coup inutiles et affecteraient les performances. Cependant, il ne peut
391 pas (et n'essaiera pas de le faire) intercepter tous les cas possibles de
392 recouvrement (comme un nom d'hôte correspondant à une adresse IP utilisée
393 quelque part ailleurs).</p>
397 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
398 <div class="directive-section"><h2><a name="maxconnectionsperchild" id="maxconnectionsperchild">Directive</a> <a name="MaxConnectionsPerChild" id="MaxConnectionsPerChild">MaxConnectionsPerChild</a><a title="Lien permanent" href="#maxconnectionsperchild" class="permalink">¶</a></h2>
399 <table class="directive">
400 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de connexions qu'un processus enfant va
401 traiter au cours de son fonctionnement</td></tr>
402 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxConnectionsPerChild <var>number</var></code></td></tr>
403 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxConnectionsPerChild 0</code></td></tr>
404 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
405 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
406 <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>
407 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 du serveur HTTP
408 Apache. L'ancien nom <code>MaxRequestsPerChild</code> est encore
411 <p>La directive <code class="directive">MaxConnectionsPerChild</code> permet de
412 définir le nombre maximum de connexions qu'un processus enfant va
413 pouvoir traiter au cours de son fonctionnement. Lorsqu'il a traité
414 <code class="directive">MaxConnectionsPerChild</code> connexions, le processus
415 enfant est arrêté. Si <code class="directive">MaxConnectionsPerChild</code> est
416 définie à <code>0</code>, il n'y a plus aucune limite sur le nombre
417 de connexions que le processus pourra traiter.</p>
419 <p>Définir <code class="directive">MaxConnectionsPerChild</code> à une valeur
420 non nulle limite la quantité de mémoire qu'un processus peut
421 consommer à cause de fuites (accidentelles) de mémoire.</p>
425 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
426 <div class="directive-section"><h2><a name="maxmemfree" id="maxmemfree">Directive</a> <a name="MaxMemFree" id="MaxMemFree">MaxMemFree</a><a title="Lien permanent" href="#maxmemfree" class="permalink">¶</a></h2>
427 <table class="directive">
428 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Quantité maximale de mémoire que l'allocateur principal est
429 autorisé à conserver sans appeler <code>free()</code></td></tr>
430 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxMemFree <var>KOctets</var></code></td></tr>
431 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxMemFree 2048</code></td></tr>
432 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
433 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
434 <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>
436 <p>La directive <code class="directive">MaxMemFree</code> permet de définir
437 le nombre maximum de KOctets libres que tout allocateur est
438 autorisé à conserver sans appeler <code>free()</code>. Dans les MPMs
439 threadés, chaque thread possède son propre allocateur. Si elle est
440 définie à 0, la quantité de mémoire libre que peut conserver un
441 allocateur est illimitée.</p>
444 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
445 <div class="directive-section"><h2><a name="maxrequestworkers" id="maxrequestworkers">Directive</a> <a name="MaxRequestWorkers" id="MaxRequestWorkers">MaxRequestWorkers</a><a title="Lien permanent" href="#maxrequestworkers" class="permalink">¶</a></h2>
446 <table class="directive">
447 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de connexions pouvant être traitées
448 simultanément</td></tr>
449 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxRequestWorkers <var>nombre</var></code></td></tr>
450 <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>
451 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
452 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
453 <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>
455 <p>La directive <code class="directive">MaxRequestWorkers</code> permet de fixer le
456 nombre maximum de requêtes pouvant être traitées simultanément.
457 Si la limite <code class="directive">MaxRequestWorkers</code> est atteinte, toute
458 tentative de connexion sera normalement mise dans une file
459 d'attente, et ceci jusqu'à un certain nombre dépendant de la
460 directive <code class="directive"><a href="#listenbacklog">ListenBacklog</a></code>.
461 Lorsqu'un processus enfant se libèrera suite à la fin du traitement
462 d'une requête, la connexion en attente pourra être traitée à son
465 <p>Pour les serveurs non threadés (<em>c'est à dire</em> utilisant
466 <code class="module"><a href="../mod/prefork.html">prefork</a></code>), la directive
467 <code class="directive">MaxRequestWorkers</code> définit alors le nombre maximum de
468 processus enfants qui pourront être lancés simultanément pour
469 traiter les requêtes. La valeur par défaut est <code>256</code> ; si
470 vous l'augmentez, vous devez aussi augmenter la valeur de la
471 directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>.</p>
473 <p>Pour les serveur threadés et hybrides (utilisant <em>par
474 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>),
475 <code class="directive">MaxRequestWorkers</code> définit alors le nombre total de
476 threads qui seront disponibles pour servir les clients. Dans le
477 cas des MPMs hybrides, la valeur par défaut est <code>16</code>
478 (directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>) multiplié par la valeur
479 <code>25</code> (directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>). Par conséquent, pour affecter à la
480 directive <code class="directive">MaxRequestWorkers</code> une valeur qui requiert
481 plus de 16 processus, vous devez aussi augmenter la valeur de la
482 directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>.</p>
484 <p>Le nom de la directive <code class="directive">MaxRequestWorkers</code>
485 était <code class="directive">MaxClients</code> avant la version 2.3.13. Cet
486 ancien nom est encore supporté.</p>
489 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
490 <div class="directive-section"><h2><a name="maxsparethreads" id="maxsparethreads">Directive</a> <a name="MaxSpareThreads" id="MaxSpareThreads">MaxSpareThreads</a><a title="Lien permanent" href="#maxsparethreads" class="permalink">¶</a></h2>
491 <table class="directive">
492 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de threads inactifs</td></tr>
493 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxSpareThreads <var>nombre</var></code></td></tr>
494 <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>
495 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
496 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
497 <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>
499 <p>C'est le nombre maximum de threads inactifs. Les MPMs utilisent
500 cette directive de différentes manières.</p>
502 <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
503 <code>MaxSpareThreads 250</code>. Ce MPM gère les threads inactifs
504 au niveau du serveur. Si le serveur possède trop de threads
505 inactifs, des processus enfants seront arrêtés jusqu'à ce que le
506 nombre de threads inactifs repasse en dessous de cette limite. Des
507 processus/threads supplémentaires sont susceptibles d'être créés si
508 <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> est
511 <p>Pour <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la définition par défaut est
512 <code>MaxSpareThreads 100</code>. Comme ce MPM n'exécute qu'un seul
513 processus, le nombre de processus inactifs est surveillé au
514 niveau du serveur.</p>
516 <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> fonctionne de manière similaire à
517 <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
518 valeur par défaut est <code>10</code>.</p>
520 <div class="note"><h3>Contraintes</h3>
521 <p>La gamme de valeurs pour <code class="directive">MaxSpareThreads</code>
522 est limitée. Apache httpd corrigera automatiquement cette valeur selon
523 les règles suivantes :</p>
525 <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>
528 <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>
529 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>
535 <li><code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code></li>
536 <li><code class="directive"><a href="#startservers">StartServers</a></code></li>
537 <li><code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code></li>
540 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
541 <div class="directive-section"><h2><a name="minsparethreads" id="minsparethreads">Directive</a> <a name="MinSpareThreads" id="MinSpareThreads">MinSpareThreads</a><a title="Lien permanent" href="#minsparethreads" class="permalink">¶</a></h2>
542 <table class="directive">
543 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre minimum de threads inactifs qui seront disponibles
544 pour pouvoir traiter les pics de requêtes</td></tr>
545 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MinSpareThreads <var>nombre</var></code></td></tr>
546 <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>
547 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
548 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
549 <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>
551 <p>C'est le nombre minimum de threads inactifs pour être en mesure
552 de traiter les pics de requêtes. Les MPMs utilisent cette directive
553 de différentes manières.</p>
555 <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
556 <code>MinSpareThreads 75</code>, et le nombre de threads inactifs
557 est surveillé au niveau du serveur. Si le serveur ne possède pas
558 assez de threads inactifs, des processus enfants sont créés jusqu'à
559 ce que le nombre de threads inactifs repasse au dessus de
560 <var>nombre</var>. Des processus/threads supplémentaires peuvent
561 être créés si <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> est activée.</p>
563 <p>Avec <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la définition par défaut est
564 <code>MinSpareThreads 10</code> et, comme ce MPM n'exécute qu'un
565 seul processus, le nombre de threads est surveillé au niveau du
568 <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> fonctionne de manière similaire à
569 <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
570 valeur par défaut est <code>5</code>.</p>
575 <li><code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code></li>
576 <li><code class="directive"><a href="#startservers">StartServers</a></code></li>
577 <li><code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code></li>
580 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
581 <div class="directive-section"><h2><a name="pidfile" id="pidfile">Directive</a> <a name="PidFile" id="PidFile">PidFile</a><a title="Lien permanent" href="#pidfile" class="permalink">¶</a></h2>
582 <table class="directive">
583 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ficher dans lequel le serveur enregistre l'identificateur
584 de processus du démon</td></tr>
585 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PidFile <var>nom fichier</var></code></td></tr>
586 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>PidFile httpd.pid</code></td></tr>
587 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
588 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
589 <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>
591 <p>La directive <code class="directive">PidFile</code> permet de définir le
592 ficher dans lequel le serveur
593 enregistre l'identificateur de processus du démon. Si le chemin du
594 fichier n'est pas absolu, il est considéré comme relatif au chemin
595 défini par la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p>
597 <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">PidFile /var/run/apache.pid</pre>
600 <p>Il est souvent utile de pouvoir envoyer un signal au
601 serveur afin qu'il ferme et ouvre à nouveau ses journaux
602 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
603 fichier de configuration. Pour ce faire, on envoie un signal SIGHUP
604 (kill -1) à l'identificateur de processus enregistré dans le fichier
605 défini par la directive <code class="directive">PidFile</code>.</p>
607 <p>La directive <code class="directive">PidFile</code> fait l'objet des
608 mêmes avertissements que ceux concernant le chemin d'enregistrement
609 des fichiers journaux et la <a href="../misc/security_tips.html#serverroot">sécurité</a>.</p>
611 <div class="note"><h3>Note</h3>
612 <p>Depuis la version 2 du serveur HTTP Apache, nous recommandons de n'utiliser
613 que le script <code class="program"><a href="../programs/apachectl.html">apachectl</a></code>, ou le script de
614 démarrage fourni avec votre système d'exploitation pour (re)démarrer ou
615 arrêter le serveur.</p>
619 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
620 <div class="directive-section"><h2><a name="receivebuffersize" id="receivebuffersize">Directive</a> <a name="ReceiveBufferSize" id="ReceiveBufferSize">ReceiveBufferSize</a><a title="Lien permanent" href="#receivebuffersize" class="permalink">¶</a></h2>
621 <table class="directive">
622 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon TCP en entrée</td></tr>
623 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ReceiveBufferSize <var>octets</var></code></td></tr>
624 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ReceiveBufferSize 0</code></td></tr>
625 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
626 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
627 <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>
629 <p>Le serveur va fixer la taille du tampon TCP en entrée au
630 nombre d'octets spécifié.</p>
632 <p>Si la directive est définie à <code>0</code>, le serveur va
633 utiliser la valeur par défaut adoptée par le système
637 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
638 <div class="directive-section"><h2><a name="scoreboardfile" id="scoreboardfile">Directive</a> <a name="ScoreBoardFile" id="ScoreBoardFile">ScoreBoardFile</a><a title="Lien permanent" href="#scoreboardfile" class="permalink">¶</a></h2>
639 <table class="directive">
640 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin du fichier où sont stockées les données concernant
641 la coordination des processus enfants</td></tr>
642 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScoreBoardFile <var>file-path</var></code></td></tr>
643 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScoreBoardFile apache_runtime_status</code></td></tr>
644 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
645 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
646 <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>
648 <p>Le serveur HTTP Apache utilise un tableau de bord pour la
649 communication entre le processus parent et les processus enfants.
650 Pour faciliter cette communication, certaines architectures
651 nécessitent un fichier. En l'absence de cette directive, donc si
652 aucun nom de fichier n'est spécifié, Apache httpd tentera tout
653 d'abord de créer un tableau uniquement en mémoire (en utilisant la
654 mémoire partagée anonyme) ; et si il n'y parvient pas, il tentera de
655 créer un fichier sur disque (en utilisant la mémoire partagée à base
656 de fichier). Si cette directive est utilisée, Apache httpd créera
657 systématiquement un fichier sur disque.</p>
659 <p>Si <var>file-path</var> n'est pas un chemin absolu, il sera relatif à la
660 valeur spécifiée par la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.
663 <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ScoreBoardFile /var/run/apache_runtime_status</pre>
666 <p>Une mémoire partagée sous forme de fichier est utile pour les
667 applications tierces qui nécessitent un accès direct au tableau de
668 bord des processus.</p>
670 <p>Si vous utilisez un <code class="directive">ScoreBoardFile</code>, vous
671 pourrez constater une amélioration des performances en le plaçant
672 sur un disque virtuel en RAM. Assurez-vous cependant de tenir compte
673 des mêmes avertissements que ceux concernant le chemin du fichier
674 journal et la <a href="../misc/security_tips.html">sécurité</a>.</p>
678 <li><a href="../stopping.html">Arrêter et redémarrer
679 le serveur HTTP Apache</a></li>
682 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
683 <div class="directive-section"><h2><a name="sendbuffersize" id="sendbuffersize">Directive</a> <a name="SendBufferSize" id="SendBufferSize">SendBufferSize</a><a title="Lien permanent" href="#sendbuffersize" class="permalink">¶</a></h2>
684 <table class="directive">
685 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon TCP en sortie</td></tr>
686 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SendBufferSize <var>octets</var></code></td></tr>
687 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SendBufferSize 0</code></td></tr>
688 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
689 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
690 <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>
692 <p>Définit la taille du tampon TCP en sortie avec le nombre
693 d'octets spécifié. Ceci s'avère souvent très utile pour augmenter les
694 valeurs par défaut standards du passé des systèmes d'exploitation
695 pour les transmissions à grande vitesse et haute densité (<em>c'est
696 à dire</em> de l'ordre de 100ms comme sur les liaisons rapides
697 transcontinentales).</p>
699 <p>Si la directive est définie à <code>0</code>, le serveur va
700 utiliser la valeur par défaut adoptée par le système
703 <p>L'amélioration des performances des connexions à grande vitesse
704 et à temps de latence élevé, peut nécessiter
705 une intervention au niveau de la configuration de votre système
708 <div class="note"><p>Sous certains systèmes d'exploitation, la modification du
709 comportement TCP via une augmentation de la valeur de
710 <code class="directive">SendBufferSize</code> risque de ne pas être
711 perceptible, si la directive <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code> n'est pas définie à OFF.
712 Cette interaction ne s'applique qu'aux fichiers statiques.</p> </div>
715 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
716 <div class="directive-section"><h2><a name="serverlimit" id="serverlimit">Directive</a> <a name="ServerLimit" id="ServerLimit">ServerLimit</a><a title="Lien permanent" href="#serverlimit" class="permalink">¶</a></h2>
717 <table class="directive">
718 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite supérieure de la définition du nombre de
720 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerLimit <var>nombre</var></code></td></tr>
721 <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>
722 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
723 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
724 <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>
726 <p>Avec le MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code>, cette directive définit le
727 nombre maximum que l'on peut affecter à la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>, et ceci pour la
728 durée de vie du processus Apache httpd. Avec les
729 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
730 <code class="directive"><a href="#threadlimit">ThreadLimit</a></code>, définit le
731 nombre maximum que l'on peut affecter à <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>, et ceci pour la durée de
732 vie du processus Apache httpd. Avec le MPM <code class="module"><a href="../mod/event.html">event</a></code>, cette
733 directive permet aussi de définir combien de processus anciens peuvent
734 continuer à s'exécuter pour terminer le traitement des connexions ouvertes.
735 Au cours d'un redémarrage, vous pouvez
736 modifier la valeur de la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>, alors que toute
737 tentative de modification de la valeur de la directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code> sera ignorée.</p>
739 <p>Cette directive doit être utilisée avec précaution. Si
740 <code class="directive">ServerLimit</code> est définie à une valeur beaucoup
741 plus grande que nécessaire, de la mémoire partagée supplémentaire
742 sera inutilement allouée. Si à la fois
743 <code class="directive">ServerLimit</code> et <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> possèdent des valeurs
744 supérieures à ce que le système peut supporter, ce dernier peut
745 devenir instable ou Apache httpd peut tout simplement refuser de démarrer.</p>
747 <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
748 que si vous devez définir <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> à une valeur supérieure à
749 256 (valeur par défaut). N'affectez pas à la directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code> une valeur supérieure à
750 celle que vous avez prévu d'affecter à la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>.</p>
752 <p>Avec <code class="module"><a href="../mod/worker.html">worker</a></code>, n'utilisez cette directive que si
753 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
754 16 processus serveurs (valeur par défaut). N'affectez pas à la
755 directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code> une
756 valeur supérieure au nombre de processus requis pour la définition
757 des directives <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers
758 </a></code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>.</p>
760 <p>Avec le MPM <code class="module"><a href="../mod/event.html">event</a></code>, augmentez la valeur de cette
761 directive si le nombre de processus défini par les directives <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> augmenté du nombre de processus
762 en procédure d'arrêt "graceful" est supérieur à 16 (valeur par défaut).</p>
764 <div class="note"><h3>Note</h3>
765 <p>Il existe une limite de <code>ServerLimit 20000</code> codée en
766 dur dans le serveur (200000 pour le MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code>).
767 Ceci est censé éviter les effets désastreux que pourrait provoquer
768 une faute de frappe. Pour dépasser cette limite, vous devez
769 modifier la valeur de MAX_SERVER_LIMIT dans le fichier source du
770 mpm et recompiler le serveur.</p>
775 <li><a href="../stopping.html">Arrêter et redémarrer
776 le serveur HTTP Apache</a></li>
779 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
780 <div class="directive-section"><h2><a name="startservers" id="startservers">Directive</a> <a name="StartServers" id="StartServers">StartServers</a><a title="Lien permanent" href="#startservers" class="permalink">¶</a></h2>
781 <table class="directive">
782 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de processus enfants du serveur créés au
784 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>StartServers <var>nombre</var></code></td></tr>
785 <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>
786 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
787 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
788 <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>
790 <p>La directive <code class="directive">StartServers</code> permet de
791 définir le nombre de processus enfants du serveur créés au
792 démarrage. Comme le nombre de processus est contrôlé dynamiquement
793 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
794 pas nécessaire d'ajuster ce paramètre.</p>
796 <p>La valeur par défaut diffère d'un MPM à l'autre. Pour
797 <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
798 <code>StartServers 3</code> ; la valeur par défaut est
799 <code>5</code> pour <code class="module"><a href="../mod/prefork.html">prefork</a></code> et <code>2</code>
800 pour <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>.</p>
803 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
804 <div class="directive-section"><h2><a name="startthreads" id="startthreads">Directive</a> <a name="StartThreads" id="StartThreads">StartThreads</a><a title="Lien permanent" href="#startthreads" class="permalink">¶</a></h2>
805 <table class="directive">
806 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de threads créés au démarrage</td></tr>
807 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>StartThreads <var>nombre</var></code></td></tr>
808 <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>
809 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
810 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
811 <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>
813 <p>C'est le nombre de threads créés au démarrage du serveur. Comme
814 le nombre de threads est contrôlé dynamiquement
815 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
816 pas nécessaire d'ajuster ce paramètre.</p>
818 <p>Pour <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la définition par défaut est
819 <code>StartThreads 50</code> et, comme il n'y a qu'un processus, il
820 s'agit du nombre total de threads créés au démarrage pour servir les
824 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
825 <div class="directive-section"><h2><a name="threadlimit" id="threadlimit">Directive</a> <a name="ThreadLimit" id="ThreadLimit">ThreadLimit</a><a title="Lien permanent" href="#threadlimit" class="permalink">¶</a></h2>
826 <table class="directive">
827 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nombre de threads maximum que l'on peut définir par
828 processus enfant</td></tr>
829 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ThreadLimit <var>nombre</var></code></td></tr>
830 <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>
831 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
832 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
833 <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>
835 <p>Cette directive permet de définir le nombre maximum que l'on peut
836 affecter à la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> pour la durée de vie
837 du processus Apache httpd. La directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> peut être modifiée
838 au cours d'un redémarrage jusqu'à la valeur de la directive <code class="directive"><a href="#threadlimit">ThreadLimit</a></code>, mais toute tentative
839 de modification de la directive <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> au cours d'un
840 redémarrage sera ignorée.</p>
842 <p>L'utilisation de cette directive doit faire l'objet de
843 précautions particulières. Si <code class="directive">ThreadLimit</code> est
844 définie à une valeur très supérieure à la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>, de la mémoire
845 partagée supplémentaire sera inutilement allouée. Si les directives
846 <code class="directive">ThreadLimit</code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> sont définies à des
847 valeurs supérieures à ce que le système peut supporter, ce dernier
848 peut devenir instable, ou Apache httpd peut tout simplement refuser de
849 démarrer. Ne définissez pas cette directive à une valeur supérieure
850 à la valeur maximale que vous pensez affecter à la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> pour le processus
851 Apache httpd en cours d'exécution.</p>
853 <p>La valeur par défaut de la directive
854 <code class="directive">ThreadLimit</code> est <code>1920</code> avec
855 <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, et <code>64</code> avec les autres
858 <div class="note"><h3>Note</h3>
859 <p>Il existe une limite de <code>ThreadLimit 20000</code> (ou
860 <code>ThreadLimit 100000</code> avec <code class="module"><a href="../mod/event.html">event</a></code>,
861 <code>ThreadLimit 15000</code> avec <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>)
862 codée en dur dans le serveur. Ceci est censé éviter les effets
863 désastreux que pourrait provoquer une faute de frappe. Pour
864 dépasser cette limite, vous devez modifier la valeur de
865 MAX_THREAD_LIMIT dans le fichier source du mpm et recompiler le
870 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
871 <div class="directive-section"><h2><a name="threadsperchild" id="threadsperchild">Directive</a> <a name="ThreadsPerChild" id="ThreadsPerChild">ThreadsPerChild</a><a title="Lien permanent" href="#threadsperchild" class="permalink">¶</a></h2>
872 <table class="directive">
873 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de threads créés par chaque processus
875 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ThreadsPerChild <var>nombre</var></code></td></tr>
876 <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>
877 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
878 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
879 <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>
881 <p>Cette directive permet de définir le nombre de threads que va
882 créer chaque processus enfant. Un processus enfant crée ces threads
883 au démarrage et n'en crée plus d'autres par la suite. Si l'on
884 utilise un MPM comme <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> qui ne lance qu'un
885 processus enfant, ce nombre doit être suffisamment grand pour
886 supporter la charge du serveur. Avec un MPM comme
887 <code class="module"><a href="../mod/worker.html">worker</a></code> qui lance plusieurs processus enfants, c'est
888 le nombre <em>total</em> de threads qui doit être suffisamment grand
889 pour supporter la charge du serveur.</p>
891 <p>La valeur par défaut de la directive
892 <code class="directive">ThreadsPerChild</code> est <code>64</code> avec
893 <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, et <code>25</code> avec les autres
897 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
898 <div class="directive-section"><h2><a name="threadstacksize" id="threadstacksize">Directive</a> <a name="ThreadStackSize" id="ThreadStackSize">ThreadStackSize</a><a title="Lien permanent" href="#threadstacksize" class="permalink">¶</a></h2>
899 <table class="directive">
900 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La taille en octets de la pile qu'utilisent les threads qui
901 traitent les connexions clients</td></tr>
902 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ThreadStackSize <var>taille</var></code></td></tr>
903 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>65536 sous NetWare; varie en fonction des autres systèmes
904 d'exploitation</code></td></tr>
905 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
906 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
907 <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>
909 <p>La directive <code class="directive">ThreadStackSize</code> permet de
910 définir la taille de la pile (pour les données propres) qu'utilisent
911 les threads qui traitent les connexions clients en faisant appel à
912 des modules. Dans la plupart des cas, la valeur par défaut de la
913 taille de la pile du système d'exploitation convient, mais il existe
914 certaines situations où il peut s'avérer nécessaire de l'ajuster
918 <li>Sur les plates-formes qui possèdent une valeur par défaut de
919 taille de la pile relativement petite (par exemple HP-UX), Apache
920 httpd peut se crasher si l'on utilise certains modules tiers qui
921 possèdent un quantité de données propres stockées relativement
922 importante. Il se peut que ces mêmes modules fonctionnent
923 correctement sur d'autres plate-formes où la valeur par défaut de
924 la taille de la pile est supérieure. Ce type de crash peut être
925 evité en définissant <code class="directive">ThreadStackSize</code> à une
926 valeur supérieure à la valeur par défaut du système
927 d'exploitation. Ce type d'ajustement n'est nécessaire que si le
928 fournisseur du module tiers en fait mention, ou si le diagnostic
929 d'un crash d'Apache httpd indique que la taille de la pile était trop
932 <li>Sur les plates-formes où la taille par défaut de la pile des
933 threads est sensiblement supérieure à la taille nécessaire pour la
934 configuration du serveur web, il est possible de disposer d'un
935 plus grand nombre de threads par processus enfant si la directive
936 <code class="directive">ThreadStackSize</code> est définie à une valeur
937 inférieure à la valeur par défaut du système d'exploitation.
939 type d'ajustement ne doit être effectué que dans un environnement
940 de test permettant de qualifier le serveur web au maximum de ses
941 possibilités, car il peut arriver, dans de rares cas, que des
942 requêtes nécessitent une taille de pile supérieure pour pouvoir
943 être traitées. La taille minimale requise pour la pile dépend
944 fortement des modules utilisés, mais toute modification dans la
945 configuration du serveur web peut invalider la définition courante
946 de la directive <code class="directive">ThreadStackSize</code>.</li>
948 <li>Sous Linux, cette directive ne peut être utilisée que pour
949 augmenter la valeur par defaut de la taille de la pile, car
950 l'appel système sous-jacent utilise cette valeur comme taille de pile
951 <em>minimale</em>. C'est la limite logicielle (souvent élevée)
952 pour <code>ulimit -s</code> (8Mo si aucune limite) qui est
953 utilisée comme taille de pile par défaut.</li>
956 <div class="note">Il est recommandé de ne pas réduire
957 <code class="directive">ThreadStackSize</code>, à moins qu'un grand nombre
958 de threads par processus enfant ne soit nécessaire. Sur certaines
959 plates-formes (y compris Linux), une valeur de 128000 est déjà trop
960 basse et provoque des crashes avec certains modules courants.</div>
964 <div class="bottomlang">
965 <p><span>Langues Disponibles: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
966 <a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English"> en </a> |
967 <a href="../fr/mod/mpm_common.html" title="Français"> fr </a> |
968 <a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
969 <a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
970 </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 again 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 Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
971 <script type="text/javascript"><!--//--><![CDATA[//><!--
972 var comments_shortname = 'httpd';
973 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mpm_common.html';
975 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
976 d.write('<div id="comments_thread"><\/div>');
977 var s = d.createElement('script');
978 s.type = 'text/javascript';
980 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
981 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
984 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
986 })(window, document);
987 //--><!]]></script></div><div id="footer">
988 <p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
989 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.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[//><!--
990 if (typeof(prettyPrint) !== 'undefined') {