]> granicus.if.org Git - apache/blob - docs/manual/mod/mpm_common.html.fr
Rebuild.
[apache] / docs / manual / mod / mpm_common.html.fr
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" />
5 <!--
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7               This file is generated from xml source: DO NOT EDIT
8         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
9       -->
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">
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 Apache HTTP 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 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>
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 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>
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 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>
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 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>
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 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>
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 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>
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 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>
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
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>
341
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>
347     </div>
348
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>
355
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>
364
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>
369
370     <div class="note">
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>
394     </div>
395
396 </div>
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">&para;</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
409 supporté.</td></tr>
410 </table>
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>
418
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>
422
423
424 </div>
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">&para;</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>
435 </table>
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>
442
443 </div>
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">&para;</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>
454 </table>
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
463     tour.</p>
464
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>
472
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>
483
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>
487
488 </div>
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">&para;</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>
498 </table>
499     <p>C'est le nombre maximum de threads inactifs. Les MPMs utilisent
500     cette directive de différentes manières.</p>
501
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
509     activée.</p>
510
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>
515
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>
519
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>
524       <ul>
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>
526
527         <li>Avec
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>
530       </ul>
531     </div>
532
533 <h3>Voir aussi</h3>
534 <ul>
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>
538 </ul>
539 </div>
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">&para;</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>
550 </table>
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>
554
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>
562
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
566     serveur.</p>
567
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>
571
572
573 <h3>Voir aussi</h3>
574 <ul>
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>
578 </ul>
579 </div>
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">&para;</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>
590 </table>
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>
596
597     <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">PidFile /var/run/apache.pid</pre>
598 </div>
599
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>
606
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>
610
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>
616     </div>
617
618 </div>
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">&para;</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>
628 </table>
629     <p>Le serveur va fixer la taille du tampon TCP en entrée au
630     nombre d'octets spécifié.</p>
631
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
634     d'exploitation.</p>
635
636 </div>
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">&para;</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>
647 </table>
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>
658
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>.
661     </p>
662
663     <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">ScoreBoardFile /var/run/apache_runtime_status</pre>
664 </div>
665
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>
669
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>
675
676 <h3>Voir aussi</h3>
677 <ul>
678 <li><a href="../stopping.html">Arrêter et redémarrer
679 le serveur HTTP Apache</a></li>
680 </ul>
681 </div>
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">&para;</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>
691 </table>
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>
698
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
701     d'exploitation.</p>
702
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
706     d'exploitation.</p>
707
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>
713
714 </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">&para;</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
719 processus</td></tr>
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>
725 </table>
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>
738
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>
746
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>
751
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>
759
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>
763
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>
771     </div>
772
773 <h3>Voir aussi</h3>
774 <ul>
775 <li><a href="../stopping.html">Arrêter et redémarrer
776 le serveur HTTP Apache</a></li>
777 </ul>
778 </div>
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">&para;</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
783 démarrage</td></tr>
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>
789 </table>
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>
795
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>
801
802 </div>
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">&para;</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>
812 </table>
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>
817
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
821     requêtes.</p>
822
823 </div>
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">&para;</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>
834 </table>
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>
841
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>
852
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
856     MPMs.</p>
857
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
866       serveur.</p>
867     </div>
868
869 </div>
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">&para;</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
874 enfant</td></tr>
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>
880 </table>
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>
890
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
894     MPMs.</p>
895
896 </div>
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">&para;</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>
908 </table>
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
915     :</p>
916
917     <ul>
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
930       petite.</li>
931
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.
938       Cependant, ce
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>
947
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>
954     </ul>
955
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>
961
962 </div>
963 </div>
964 <div class="bottomlang">
965 <p><span>Langues Disponibles: </span><a href="../de/mod/mpm_common.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
966 <a href="../en/mod/mpm_common.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
967 <a href="../fr/mod/mpm_common.html" title="Français">&nbsp;fr&nbsp;</a> |
968 <a href="../ja/mod/mpm_common.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
969 <a href="../tr/mod/mpm_common.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</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&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>
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';
974 (function(w, d) {
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';
979         s.async = true;
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);
982     }
983     else {
984         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
985     }
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') {
991     prettyPrint();
992 }
993 //--><!]]></script>
994 </body></html>