]> granicus.if.org Git - apache/blob - docs/manual/mod/mpm_common.html.fr.utf8
Fix xml validation error
[apache] / docs / manual / mod / mpm_common.html.fr.utf8
1 <?xml version="1.0" encoding="UTF-8"?>
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=UTF-8" http-equiv="Content-Type" />
5 <!--
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7               This file is generated from xml source: DO NOT EDIT
8         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
9       -->
10 <title>mpm_common - Serveur HTTP Apache 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">
15 </script>
16
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
18 <body>
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 HTTP Apache Version 2.5</p>
22 <img alt="" src="../images/feather.png" /></div>
23 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
24 <div id="path">
25 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Modules</a></div>
26 <div id="page-content">
27 <div id="preamble"><h1>Apache MPM : Directives Communes</h1>
28 <div class="toplang">
29 <p><span>Langues Disponibles: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
30 <a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
31 <a href="../fr/mod/mpm_common.html" title="Français">&nbsp;fr&nbsp;</a> |
32 <a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
33 <a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
34 </div>
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>
38 </div>
39 <div id="quickview"><h3 class="directives">Directives</h3>
40 <ul id="toc">
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>
63 </ul>
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__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mpm_common">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mpm_common">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
65 <ul class="seealso">
66 <li><a href="#comments_section">Commentaires</a></li></ul></div>
67
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">&para;</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 globale</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>
80 </table>
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>
89
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>
93  
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>
97
98 </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">&para;</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 globale</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>
109 </table>
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
112     mémoire sur disque.
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>
121
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>
128
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>
136     </div>
137
138     <div class="note">
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.
143     </p>
144     </div>
145
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>
150       <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>
157     </div>
158
159 </div>
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">&para;</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 globale</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>
170 </table>
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
177     enfant.</p>
178
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>
183
184 </div>
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">&para;</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 globale</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>
195 </table>
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>
201
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>
204
205 </div>
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">&para;</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 globale</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>
215 </table>
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>
223
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>
230
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>
235
236     <p>Par exemple, pour que le serveur accepte les connexions sur les
237     ports 80 et 8000, utilisez :</p>
238
239     <pre class="prettyprint lang-config">Listen 80
240 Listen 8000</pre>
241
242
243     <p>Pour que le serveur accepte les connexions sur deux interfaces et
244     ports particuliers, spécifiez :</p>
245
246     <pre class="prettyprint lang-config">Listen 192.170.2.1:80
247 Listen 192.170.2.5:8000</pre>
248
249
250     <p>Les adressee IPv6 doivent être entourées de crochets, comme dans
251     l'exemple suivant :</p>
252
253     <pre class="prettyprint lang-config">Listen [2001:db8::a00:20ff:fea7:ccea]:80</pre>
254
255
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>
263
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>
267
268     <pre class="prettyprint lang-config">Listen 192.170.2.1:8443 https</pre>
269
270
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>.
275     </div>
276
277
278 <h3>Voir aussi</h3>
279 <ul>
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>
286 </ul>
287 </div>
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">&para;</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
292 connexions</td></tr>
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 globale</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>
298 </table>
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>
305
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>
311
312 </div>
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">&para;</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 globale</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>
330 </table>
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 nombre de
334     segments d'écoute (listeners' buckets) souhaités ; le serveur HTTP Apache va
335     alors créer<code>num_cpu_cores / ratio</code> segments d'écoute, chacun
336     contenant son propre socket d'écoute <code class="directive"><a href="#listen">Listen</a></code> sur le ou les mêmes ports ; chaque
337     processus enfant sera associé à un seul segment d'écoute (avec une
338     distribution de type round-robin des segments à la création des processus
339     enfants).</p>
340
341     <div class="note"><h3>Définition du terme coeur de CPU activé ("online")</h3>
342     <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>
343     a été configuré ; la directive
344     <code class="directive">ListenCoresBucketsRatio</code> doit donc tenir compte de ce
345     paramètre pour calculer le nombre de segments d'écoute à créer.</p>
346     </div>
347
348     <p>La directive <code class="directive">ListenCoresBucketsRatio</code> peut
349     améliorer le support de la montée en charge lorsque l'arrivée de
350     nouvelles connexions est/devient un goulot d'étranglement. Le test
351     de cette fonctionnalité avec des machines possédant un nombre de
352     coeurs de CPU important a permit de constater une amélioration des
353     performances significative et des temps de réponse plus courts.</p>
354
355     <p>Pour que cette fonctionnalité soit activée, le nombre de coeurs
356     de CPU doit être égal au moins au double du <var>ratio</var>
357     spécifié. Si vous spécifiez la valeur recommandée pour
358     <var>ratio</var>, à savoir <code>8</code>, le nombre minimum de
359     coeurs de processeurs disponibles sera alors de <code>16</code>. La valeur
360     optimale de <var>ratio</var> permettant d'obtenir des performances maximales
361     doit être calculée pour chaque système cible, en testant plusieurs valeurs
362     et en observant les résultats.</p>
363
364     <p>Cette directive influence le calcul des valeurs limites inférieures de
365     <code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code> et <code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code>. En effet, pour accepter les
366     connexions de manière optimale, le nombre de processus enfants doit être un
367     multiple du nombre de segments d'écoute.</p>
368
369     <div class="note">
370     <h3>Cas où plusieurs <code class="directive">Listen</code>ers ou serveurs HTTP
371     Apache partagent la même adresse IP et port</h3>
372     <p>La définition de l'option <code>SO_REUSEPORT</code> pour les sockets
373     d'écoute permet à plusieurs processus (partageant le même <code>EUID</code>,
374     par exemple <code>root</code>) de se rattacher à la même adresse IP et port,
375     sans obtenir l'erreur de rattachement que le système génère habituellement
376     lorsque ce cas se produit.</p>
377     <p>Cela signifie aussi que plusieurs instances d'Apache httpd configurées
378     avec le même <code>IP:port</code> et avec une valeur
379     <code class="directive">ListenCoresBucketsRatio</code> positive pourraient démarrer
380     sans erreur, et fonctionner ensuite avec une répartition uniforme des
381     connexions entrantes sur ces différentes instances (ce n'est PAS une
382     recommandation et ne constitue pas un usage approprié à tous les cas, mais
383     juste un avertissement sur le fait qu'un véritable problème de rattachement
384     multiple à un <code>IP:port</code> pourrait alors être occulté).</p>
385     <p>Au sein d'une même instance, Apache httpd vérifie la présence de
386     directives <code class="directive">Listen</code> multiples avec la même adresse IP
387     (ou nom d'hôte) et le même port, et refuse de démarrer si c'est le cas, ce
388     qui permet d'éviter la création de segments d'écoute dupliqués qui seraient
389     du coup inutiles et affecteraient les performances. Cependant, il ne peut
390     pas (et n'essaiera pas de le faire) intercepter tous les cas possibles de
391     recouvrement (comme un nom d'hôte correspondant à une adresse IP utilisée
392     quelque part ailleurs).</p>
393     </div>
394
395 </div>
396 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
397 <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">&para;</a></h2>
398 <table class="directive">
399 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de connexions qu'un processus enfant va
400 traiter au cours de son fonctionnement</td></tr>
401 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxConnectionsPerChild <var>number</var></code></td></tr>
402 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxConnectionsPerChild 0</code></td></tr>
403 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
404 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
405 <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>
406 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 du serveur HTTP
407 Apache. L'ancien nom <code>MaxRequestsPerChild</code> est encore
408 supporté.</td></tr>
409 </table>
410     <p>La directive <code class="directive">MaxConnectionsPerChild</code> permet de
411     définir le nombre maximum de connexions qu'un processus enfant va
412     pouvoir traiter au cours de son fonctionnement. Lorsqu'il a traité
413     <code class="directive">MaxConnectionsPerChild</code> connexions, le processus
414     enfant est arrêté. Si <code class="directive">MaxConnectionsPerChild</code> est
415     définie à <code>0</code>, il n'y a plus aucune limite sur le nombre
416     de connexions que le processus pourra traiter.</p>
417
418     <p>Définir <code class="directive">MaxConnectionsPerChild</code> à une valeur
419     non nulle limite la quantité de mémoire qu'un processus peut
420     consommer à cause de fuites (accidentelles) de mémoire.</p>
421
422
423 </div>
424 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
425 <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">&para;</a></h2>
426 <table class="directive">
427 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Quantité maximale de mémoire que l'allocateur principal est
428 autorisé à conserver sans appeler <code>free()</code></td></tr>
429 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxMemFree <var>KOctets</var></code></td></tr>
430 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxMemFree 2048</code></td></tr>
431 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
432 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
433 <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>
434 </table>
435     <p>La directive <code class="directive">MaxMemFree</code> permet de définir
436     le nombre maximum de KOctets libres que tout allocateur est
437     autorisé à conserver sans appeler <code>free()</code>. Dans les MPMs
438     threadés, chaque thread possède son propre allocateur. Si elle est
439     définie à 0, la quantité de mémoire libre que peut conserver un
440     allocateur est illimitée.</p>
441
442 </div>
443 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
444 <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">&para;</a></h2>
445 <table class="directive">
446 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de connexions pouvant être traitées
447 simultanément</td></tr>
448 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxRequestWorkers <var>nombre</var></code></td></tr>
449 <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>
450 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
451 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
452 <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>
453 </table>
454     <p>La directive <code class="directive">MaxRequestWorkers</code> permet de fixer le
455     nombre maximum de requêtes pouvant être traitées simultanément.
456     Si la limite <code class="directive">MaxRequestWorkers</code> est atteinte, toute
457     tentative de connexion sera normalement mise dans une file
458     d'attente, et ceci jusqu'à un certain nombre dépendant de la
459     directive <code class="directive"><a href="#listenbacklog">ListenBacklog</a></code>.
460     Lorsqu'un processus enfant se libèrera suite à la fin du traitement
461     d'une requête, la connexion en attente pourra être traitée à son
462     tour.</p>
463
464     <p>Pour les serveurs non threadés (<em>c'est à dire</em> utilisant
465     <code class="module"><a href="../mod/prefork.html">prefork</a></code>), la directive
466     <code class="directive">MaxRequestWorkers</code> définit alors le nombre maximum de
467     processus enfants qui pourront être lancés simultanément pour
468     traiter les requêtes. La valeur par défaut est <code>256</code> ; si
469     vous l'augmentez, vous devez aussi augmenter la valeur de la
470     directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>.</p>
471
472     <p>Pour les serveur threadés et hybrides (utilisant <em>par
473     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>),
474     <code class="directive">MaxRequestWorkers</code> définit alors le nombre total de
475     threads qui seront disponibles pour servir les clients. Dans le
476     cas des MPMs hybrides, la valeur par défaut est <code>16</code>
477     (directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>) multiplié par la valeur
478     <code>25</code> (directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>). Par conséquent, pour affecter à la
479     directive <code class="directive">MaxRequestWorkers</code> une valeur qui requiert
480     plus de 16 processus, vous devez aussi augmenter la valeur de la
481     directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>.</p>
482
483     <p>Le nom de la directive <code class="directive">MaxRequestWorkers</code>
484     était <code class="directive">MaxClients</code> avant la version 2.3.13. Cet
485     ancien nom est encore supporté.</p>
486
487 </div>
488 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
489 <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">&para;</a></h2>
490 <table class="directive">
491 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de threads inactifs</td></tr>
492 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxSpareThreads <var>nombre</var></code></td></tr>
493 <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>
494 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
495 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
496 <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>
497 </table>
498     <p>C'est le nombre maximum de threads inactifs. Les MPMs utilisent
499     cette directive de différentes manières.</p>
500
501     <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
502     <code>MaxSpareThreads 250</code>. Ce MPM gère les threads inactifs
503     au niveau du serveur. Si le serveur possède trop de threads
504     inactifs, des processus enfants seront arrêtés jusqu'à ce que le
505     nombre de threads inactifs repasse en dessous de cette limite. Des
506     processus/threads supplémentaires sont susceptibles d'être créés si
507     <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> est
508     activée.</p>
509
510     <p>Pour <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la définition par défaut est
511     <code>MaxSpareThreads 100</code>. Comme ce MPM n'exécute qu'un seul
512     processus, le nombre de processus inactifs est surveillé au
513     niveau du serveur.</p>
514
515     <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> fonctionne de manière similaire à
516     <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
517     valeur par défaut est <code>10</code>.</p>
518
519     <div class="note"><h3>Contraintes</h3>
520       <p>La gamme de valeurs pour <code class="directive">MaxSpareThreads</code>
521       est limitée. Apache httpd corrigera automatiquement cette valeur selon
522       les règles suivantes :</p>
523       <ul>
524         <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>
525
526         <li>Avec
527         <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>
528         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>
529       </ul>
530     </div>
531
532 <h3>Voir aussi</h3>
533 <ul>
534 <li><code class="directive"><a href="#minsparethreads">MinSpareThreads</a></code></li>
535 <li><code class="directive"><a href="#startservers">StartServers</a></code></li>
536 <li><code class="directive"><a href="../mod/prefork.html#maxspareservers">MaxSpareServers</a></code></li>
537 </ul>
538 </div>
539 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
540 <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">&para;</a></h2>
541 <table class="directive">
542 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre minimum de threads inactifs qui seront disponibles
543 pour pouvoir traiter les pics de requêtes</td></tr>
544 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MinSpareThreads <var>nombre</var></code></td></tr>
545 <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>
546 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
547 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
548 <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>
549 </table>
550     <p>C'est le nombre minimum de threads inactifs pour être en mesure
551     de traiter les pics de requêtes. Les MPMs utilisent cette directive
552     de différentes manières.</p>
553
554     <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
555     <code>MinSpareThreads 75</code>, et le nombre de threads inactifs
556     est surveillé au niveau du serveur. Si le serveur ne possède pas
557     assez de threads inactifs, des processus enfants sont créés jusqu'à
558     ce que le nombre de threads inactifs repasse au dessus de
559     <var>nombre</var>. Des processus/threads supplémentaires peuvent
560     être créés si <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> est activée.</p>
561
562     <p>Avec <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la définition par défaut est
563     <code>MinSpareThreads 10</code> et, comme ce MPM n'exécute qu'un
564     seul processus, le nombre de threads est surveillé au niveau du
565     serveur.</p>
566
567     <p><code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code> fonctionne de manière similaire à
568     <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
569     valeur par défaut est <code>5</code>.</p>
570
571
572 <h3>Voir aussi</h3>
573 <ul>
574 <li><code class="directive"><a href="#maxsparethreads">MaxSpareThreads</a></code></li>
575 <li><code class="directive"><a href="#startservers">StartServers</a></code></li>
576 <li><code class="directive"><a href="../mod/prefork.html#minspareservers">MinSpareServers</a></code></li>
577 </ul>
578 </div>
579 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
580 <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">&para;</a></h2>
581 <table class="directive">
582 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Ficher dans lequel le serveur enregistre l'identificateur
583 de processus du démon</td></tr>
584 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>PidFile <var>nom fichier</var></code></td></tr>
585 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>PidFile httpd.pid</code></td></tr>
586 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
587 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
588 <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>
589 </table>
590     <p>La directive <code class="directive">PidFile</code> permet de définir le
591     ficher dans lequel le serveur
592     enregistre l'identificateur de processus du démon. Si le chemin du
593     fichier n'est pas absolu, il est considéré comme relatif au chemin
594     défini par la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p>
595
596     <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">PidFile /var/run/apache.pid</pre>
597 </div>
598
599     <p>Il est souvent utile de pouvoir envoyer un signal au
600     serveur afin qu'il ferme et ouvre à nouveau ses journaux
601     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
602     fichier de configuration. Pour ce faire, on envoie un signal SIGHUP
603     (kill -1) à l'identificateur de processus enregistré dans le fichier
604     défini par la directive <code class="directive">PidFile</code>.</p>
605
606     <p>La directive <code class="directive">PidFile</code> fait l'objet des
607     mêmes avertissements que ceux concernant le chemin d'enregistrement
608     des fichiers journaux et la <a href="../misc/security_tips.html#serverroot">sécurité</a>.</p>
609
610     <div class="note"><h3>Note</h3>
611       <p>Depuis la version 2 du serveur HTTP Apache, nous recommandons de n'utiliser
612       que le script <code class="program"><a href="../programs/apachectl.html">apachectl</a></code>, ou le script de
613       démarrage fourni avec votre système d'exploitation pour (re)démarrer ou
614       arrêter le serveur.</p>
615     </div>
616
617 </div>
618 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
619 <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">&para;</a></h2>
620 <table class="directive">
621 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon TCP en entrée</td></tr>
622 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ReceiveBufferSize <var>octets</var></code></td></tr>
623 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ReceiveBufferSize 0</code></td></tr>
624 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
625 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
626 <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>
627 </table>
628     <p>Le serveur va fixer la taille du tampon TCP en entrée au
629     nombre d'octets spécifié.</p>
630
631     <p>Si la directive est définie à <code>0</code>, le serveur va
632     utiliser la valeur par défaut adoptée par le système
633     d'exploitation.</p>
634
635 </div>
636 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
637 <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">&para;</a></h2>
638 <table class="directive">
639 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin du fichier où sont stockées les données concernant
640 la coordination des processus enfants</td></tr>
641 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScoreBoardFile <var>file-path</var></code></td></tr>
642 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScoreBoardFile apache_runtime_status</code></td></tr>
643 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
644 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
645 <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>
646 </table>
647     <p>Le serveur HTTP Apache utilise un tableau de bord pour la
648     communication entre le processus parent et les processus enfants.
649     Pour faciliter cette communication, certaines architectures
650     nécessitent un fichier. En l'absence de cette directive, donc si
651     aucun nom de fichier n'est spécifié, Apache httpd tentera tout
652     d'abord de créer un tableau uniquement en mémoire (en utilisant la
653     mémoire partagée anonyme) ; et si il n'y parvient pas, il tentera de
654     créer un fichier sur disque (en utilisant la mémoire partagée à base
655     de fichier). Si cette directive est utilisée, Apache httpd créera
656     systématiquement un fichier sur disque.</p>
657
658     <p>Si <var>file-path</var> n'est pas un chemin absolu, il sera relatif à la
659     valeur spécifiée par la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.
660     </p>
661
662     <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ScoreBoardFile /var/run/apache_runtime_status</pre>
663 </div>
664
665     <p>Une mémoire partagée sous forme de fichier est utile pour les
666     applications tierces qui nécessitent un accès direct au tableau de
667     bord des processus.</p>
668
669     <p>Si vous utilisez un <code class="directive">ScoreBoardFile</code>, vous
670     pourrez constater une amélioration des performances en le plaçant
671     sur un disque virtuel en RAM. Assurez-vous cependant de tenir compte
672     des mêmes avertissements que ceux concernant le chemin du fichier
673     journal et la <a href="../misc/security_tips.html">sécurité</a>.</p>
674
675 <h3>Voir aussi</h3>
676 <ul>
677 <li><a href="../stopping.html">Arrêter et redémarrer
678 le serveur HTTP Apache</a></li>
679 </ul>
680 </div>
681 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
682 <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">&para;</a></h2>
683 <table class="directive">
684 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille du tampon TCP en sortie</td></tr>
685 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SendBufferSize <var>octets</var></code></td></tr>
686 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SendBufferSize 0</code></td></tr>
687 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
688 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
689 <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>
690 </table>
691     <p>Définit la taille du tampon TCP en sortie avec le nombre
692     d'octets spécifié. Ceci s'avère souvent très utile pour augmenter les
693     valeurs par défaut standards du passé des systèmes d'exploitation
694     pour les transmissions à grande vitesse et haute densité (<em>c'est
695     à dire</em> de l'ordre de 100ms comme sur les liaisons rapides
696     transcontinentales).</p>
697
698     <p>Si la directive est définie à <code>0</code>, le serveur va
699     utiliser la valeur par défaut adoptée par le système
700     d'exploitation.</p>
701
702     <p>L'amélioration des performances des connexions à grande vitesse
703     et à temps de latence élevé, peut nécessiter
704     une intervention au niveau de la configuration de votre système
705     d'exploitation.</p>
706
707     <div class="note"><p>Sous certains systèmes d'exploitation, la modification du
708     comportement TCP via une augmentation de la valeur de
709     <code class="directive">SendBufferSize</code> risque de ne pas être
710     perceptible, si la directive <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code> n'est pas définie à OFF.
711     Cette interaction ne s'applique qu'aux fichiers statiques.</p> </div>
712
713 </div>
714 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
715 <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">&para;</a></h2>
716 <table class="directive">
717 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite supérieure de la définition du nombre de
718 processus</td></tr>
719 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerLimit <var>nombre</var></code></td></tr>
720 <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>
721 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
722 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
723 <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>
724 </table>
725     <p>Avec le MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code>, cette directive définit le
726     nombre maximum que l'on peut affecter à la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>, et ceci pour la
727     durée de vie du processus Apache httpd. Avec les
728     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
729     <code class="directive"><a href="#threadlimit">ThreadLimit</a></code>, définit le
730     nombre maximum que l'on peut affecter à <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>, et ceci pour la durée de
731     vie du processus Apache httpd. Avec le MPM <code class="module"><a href="../mod/event.html">event</a></code>, cette
732     directive permet aussi de définir combien de processus anciens peuvent
733     continuer à s'exécuter pour terminer le traitement des connexions ouvertes.    
734     Au cours d'un redémarrage, vous pouvez
735     modifier la valeur de la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>, alors que toute
736     tentative de modification de la valeur de la directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code> sera ignorée.</p>
737
738     <p>Cette directive doit être utilisée avec précaution. Si
739     <code class="directive">ServerLimit</code> est définie à une valeur beaucoup
740     plus grande que nécessaire, de la mémoire partagée supplémentaire
741     sera inutilement allouée. Si à la fois
742     <code class="directive">ServerLimit</code> et <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> possèdent des valeurs
743     supérieures à ce que le système peut supporter, ce dernier peut
744     devenir instable ou Apache httpd peut tout simplement refuser de démarrer.</p>
745
746     <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
747     que si vous devez définir <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> à une valeur supérieure à
748     256 (valeur par défaut). N'affectez pas à la directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code> une valeur supérieure à
749     celle que vous avez prévu d'affecter à la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>.</p>
750
751     <p>Avec <code class="module"><a href="../mod/worker.html">worker</a></code>, n'utilisez cette directive que si
752     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
753     16 processus serveurs (valeur par défaut). N'affectez pas à la
754     directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code> une
755     valeur supérieure au nombre de processus requis pour la définition
756     des directives <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers
757     </a></code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>.</p>
758
759     <p>Avec le MPM <code class="module"><a href="../mod/event.html">event</a></code>, augmentez la valeur de cette
760     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
761     en procédure d'arrêt "graceful" est supérieur à 16 (valeur par défaut).</p>
762
763     <div class="note"><h3>Note</h3>
764       <p>Il existe une limite de <code>ServerLimit 20000</code> codée en
765       dur dans le serveur (200000 pour le MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code>).
766       Ceci est censé éviter les effets désastreux que pourrait provoquer
767       une faute de frappe. Pour dépasser cette limite, vous devez
768       modifier la valeur de MAX_SERVER_LIMIT dans le fichier source du
769       mpm et recompiler le serveur.</p>
770     </div>
771
772 <h3>Voir aussi</h3>
773 <ul>
774 <li><a href="../stopping.html">Arrêter et redémarrer
775 le serveur HTTP Apache</a></li>
776 </ul>
777 </div>
778 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
779 <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">&para;</a></h2>
780 <table class="directive">
781 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de processus enfants du serveur créés au
782 démarrage</td></tr>
783 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>StartServers <var>nombre</var></code></td></tr>
784 <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>
785 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
786 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
787 <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>
788 </table>
789     <p>La directive <code class="directive">StartServers</code> permet de
790     définir le nombre de processus enfants du serveur créés au
791     démarrage. Comme le nombre de processus est contrôlé dynamiquement
792     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
793     pas nécessaire d'ajuster ce paramètre.</p>
794
795     <p>La valeur par défaut diffère d'un MPM à l'autre. Pour
796     <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
797     <code>StartServers 3</code> ; la valeur par défaut est
798     <code>5</code> pour <code class="module"><a href="../mod/prefork.html">prefork</a></code> et <code>2</code>
799     pour <code class="module"><a href="../mod/mpmt_os2.html">mpmt_os2</a></code>.</p>
800
801 </div>
802 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
803 <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">&para;</a></h2>
804 <table class="directive">
805 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de threads créés au démarrage</td></tr>
806 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>StartThreads <var>nombre</var></code></td></tr>
807 <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>
808 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
809 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
810 <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>
811 </table>
812     <p>C'est le nombre de threads créés au démarrage du serveur. Comme
813     le nombre de threads est contrôlé dynamiquement
814     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
815     pas nécessaire d'ajuster ce paramètre.</p>
816
817     <p>Pour <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la définition par défaut est
818     <code>StartThreads 50</code> et, comme il n'y a qu'un processus, il
819     s'agit du nombre total de threads créés au démarrage pour servir les
820     requêtes.</p>
821
822 </div>
823 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
824 <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">&para;</a></h2>
825 <table class="directive">
826 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nombre de threads maximum que l'on peut définir par
827 processus enfant</td></tr>
828 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ThreadLimit <var>nombre</var></code></td></tr>
829 <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>
830 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
831 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
832 <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>
833 </table>
834     <p>Cette directive permet de définir le nombre maximum que l'on peut
835     affecter à la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> pour la durée de vie
836     du processus Apache httpd. La directive  <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> peut être modifiée
837     au cours d'un redémarrage jusqu'à la valeur de la directive <code class="directive"><a href="#threadlimit">ThreadLimit</a></code>, mais toute tentative
838     de modification de la directive <code class="directive"><a href="#threadlimit">ThreadLimit</a></code> au cours d'un
839     redémarrage sera ignorée.</p>
840
841     <p>L'utilisation de cette directive doit faire l'objet de
842     précautions particulières. Si <code class="directive">ThreadLimit</code> est
843     définie à une valeur très supérieure à la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>, de la mémoire
844     partagée supplémentaire sera inutilement allouée. Si les directives
845     <code class="directive">ThreadLimit</code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> sont définies à des
846     valeurs supérieures à ce que le système peut supporter, ce dernier
847     peut devenir instable, ou Apache httpd peut tout simplement refuser de
848     démarrer. Ne définissez pas cette directive à une valeur supérieure
849     à la valeur maximale que vous pensez affecter à la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> pour le processus
850     Apache httpd en cours d'exécution.</p>
851
852     <p>La valeur par défaut de la directive
853     <code class="directive">ThreadLimit</code> est <code>1920</code> avec
854     <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, et <code>64</code> avec les autres
855     MPMs.</p>
856
857     <div class="note"><h3>Note</h3>
858       <p>Il existe une limite de <code>ThreadLimit 20000</code> (ou
859       <code>ThreadLimit 100000</code> avec <code class="module"><a href="../mod/event.html">event</a></code>,
860       <code>ThreadLimit 15000</code> avec <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>)
861       codée en dur dans le serveur. Ceci est censé éviter les effets
862       désastreux que pourrait provoquer une faute de frappe. Pour
863       dépasser cette limite, vous devez modifier la valeur de
864       MAX_THREAD_LIMIT dans le fichier source du mpm et recompiler le
865       serveur.</p>
866     </div>
867
868 </div>
869 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
870 <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">&para;</a></h2>
871 <table class="directive">
872 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de threads créés par chaque processus
873 enfant</td></tr>
874 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ThreadsPerChild <var>nombre</var></code></td></tr>
875 <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>
876 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
877 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
878 <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>
879 </table>
880     <p>Cette directive permet de définir le nombre de threads que va
881     créer chaque processus enfant. Un processus enfant crée ces threads
882     au démarrage et n'en crée plus d'autres par la suite. Si l'on
883     utilise un MPM comme <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code> qui ne lance qu'un
884     processus enfant, ce nombre doit être suffisamment grand pour
885     supporter la charge du serveur. Avec un MPM comme
886     <code class="module"><a href="../mod/worker.html">worker</a></code> qui lance plusieurs processus enfants, c'est
887     le nombre <em>total</em> de threads qui doit être suffisamment grand
888     pour supporter la charge du serveur.</p>
889
890     <p>La valeur par défaut de la directive
891     <code class="directive">ThreadsPerChild</code> est <code>64</code> avec
892     <code class="module"><a href="../mod/mpm_winnt.html">mpm_winnt</a></code>, et <code>25</code> avec les autres
893     MPMs.</p>
894
895     <p>La valeur de la directive <code class="directive">ThreadsPerChild</code> ne peut
896     pas dépasser la valeur de la directive <code class="directive"><a href="#threadslimit">ThreadsLimit</a></code>. Si on spécifie une valeur
897     supérieure, elle sera automatiquement réduite au démarrage du serveur et un
898     avertissement sera enregistré dans le journal. La relation entre ces deux
899     directives est expliquée dans la <code class="directive"><a href="#documentation de la directive threadslimit">documentation de la directive ThreadsLimit</a></code>.</p>
900
901 </div>
902 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
903 <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">&para;</a></h2>
904 <table class="directive">
905 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La taille en octets de la pile qu'utilisent les threads qui
906 traitent les connexions clients</td></tr>
907 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ThreadStackSize <var>taille</var></code></td></tr>
908 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>65536 sous NetWare; varie en fonction des autres systèmes
909 d'exploitation</code></td></tr>
910 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
911 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
912 <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>
913 </table>
914     <p>La directive <code class="directive">ThreadStackSize</code> permet de
915     définir la taille de la pile (pour les données propres) qu'utilisent
916     les threads qui traitent les connexions clients en faisant appel à
917     des modules. Dans la plupart des cas, la valeur par défaut de la
918     taille de la pile du système d'exploitation convient, mais il existe
919     certaines situations où il peut s'avérer nécessaire de l'ajuster
920     :</p>
921
922     <ul>
923       <li>Sur les plates-formes qui possèdent une valeur par défaut de
924       taille de la pile relativement petite (par exemple HP-UX), Apache
925       httpd peut se crasher si l'on utilise certains modules tiers qui
926       possèdent un quantité de données propres stockées relativement
927       importante. Il se peut que ces mêmes modules fonctionnent
928       correctement sur d'autres plate-formes où la valeur par défaut de
929       la taille de la pile est supérieure. Ce type de crash peut être
930       evité en définissant <code class="directive">ThreadStackSize</code> à une
931       valeur supérieure à la valeur par défaut du système
932       d'exploitation. Ce type d'ajustement n'est nécessaire que si le
933       fournisseur du module tiers en fait mention, ou si le diagnostic
934       d'un crash d'Apache httpd indique que la taille de la pile était trop
935       petite.</li>
936
937       <li>Sur les plates-formes où la taille par défaut de la pile des
938       threads est sensiblement supérieure à la taille nécessaire pour la
939       configuration du serveur web, il est possible de disposer d'un
940       plus grand nombre de threads par processus enfant si la directive
941       <code class="directive">ThreadStackSize</code> est définie à une valeur
942       inférieure à la valeur par défaut du système d'exploitation.
943       Cependant, ce
944       type d'ajustement ne doit être effectué que dans un environnement
945       de test permettant de qualifier le serveur web au maximum de ses
946       possibilités, car il peut arriver, dans de rares cas, que des
947       requêtes nécessitent une taille de pile supérieure pour pouvoir
948       être traitées. La taille minimale requise pour la pile dépend
949       fortement des modules utilisés, mais toute modification dans la
950       configuration du serveur web peut invalider la définition courante
951       de la directive <code class="directive">ThreadStackSize</code>.</li>
952
953       <li>Sous Linux, cette directive ne peut être utilisée que pour
954       augmenter la valeur par defaut de la taille de la pile, car
955       l'appel système sous-jacent utilise cette valeur comme taille de pile
956       <em>minimale</em>. C'est la limite logicielle (souvent élevée)
957       pour <code>ulimit -s</code> (8Mo si aucune limite) qui est
958       utilisée comme taille de pile par défaut.</li>
959     </ul>
960
961     <div class="note">Il est recommandé de ne pas réduire
962     <code class="directive">ThreadStackSize</code>, à moins qu'un grand nombre
963     de threads par processus enfant ne soit nécessaire. Sur certaines
964     plates-formes (y compris Linux), une valeur de 128000 est déjà trop
965     basse et provoque des crashes avec certains modules courants.</div>
966
967 </div>
968 </div>
969 <div class="bottomlang">
970 <p><span>Langues Disponibles: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
971 <a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
972 <a href="../fr/mod/mpm_common.html" title="Français">&nbsp;fr&nbsp;</a> |
973 <a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
974 <a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
975 </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&amp;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>
976 <script type="text/javascript"><!--//--><![CDATA[//><!--
977 var comments_shortname = 'httpd';
978 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mpm_common.html';
979 (function(w, d) {
980     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
981         d.write('<div id="comments_thread"><\/div>');
982         var s = d.createElement('script');
983         s.type = 'text/javascript';
984         s.async = true;
985         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
986         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
987     }
988     else {
989         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
990     }
991 })(window, document);
992 //--><!]]></script></div><div id="footer">
993 <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>
994 <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[//><!--
995 if (typeof(prettyPrint) !== 'undefined') {
996     prettyPrint();
997 }
998 //--><!]]></script>
999 </body></html>