]> granicus.if.org Git - apache/blob - docs/manual/mod/mpm_common.html.fr
Rebuild fr doc.
[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 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&#231;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&#252;rk&#231;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&#233;rie de directives impl&#233;ment&#233;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&#232;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&#233;faut:</a></th><td><code>OFF (les erreurs ECONNREFUSED, ECONNABORTED, ECONNRESET entra&#238;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&#233;:</a></th><td>Disponible &#224; 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&#233;faut, le processus enfant qui traite la requ&#234;te se terminera
85     en douceur pratiquement chaque fois qu'une erreur de socket appara&#238;t au
86     cours de l'appel syst&#232;me accept(), ceci dans le but de s'assurer qu'un
87     processus enfant potentiellement endommag&#233; ne tentera pas de prendre en
88     compte de nouvelles connexions.</p>
89
90     <p>Lorsque la directive <code class="directive">AcceptErrorsNonFatal</code> est &#224;
91     "ON", le processus n'enclenchera <em>pas</em> sa proc&#233;dure d'arr&#234;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&#233;cif&#233;s par le syst&#232;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&#233;pertoire dans lequel le serveur HTTP Apache va tenter de se
103 positionner avant d'effectuer un vidage m&#233;moire</td></tr>
104 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CoreDumpDirectory <var>r&#233;pertoire</var></code></td></tr>
105 <tr><th><a href="directive-dict.html#Default">D&#233;faut:</a></th><td><code>Voir ci-dessous pour le r&#233;pertoire par d&#233;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&#233;finir le r&#233;pertoire dans lequel
111     Apache httpd va tenter de se positionner avant d'effectuer un vidage
112     m&#233;moire sur disque.
113     Si votre syst&#232;me d'exploitation est configur&#233; pour cr&#233;er des
114     fichiers de vidage m&#233;moire dans le r&#233;pertoire de travail des
115     processus qui se sont crash&#233;s,
116     <code class="directive">CoreDumpDirectory</code> est n&#233;cessaire pour
117     d&#233;finir un r&#233;pertoire de travail autre que le r&#233;pertoire par d&#233;faut
118     <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>, ce r&#233;pertoire de
119     travail ne devant pas &#234;tre accessible en &#233;criture par l'utilisateur sous
120     lequel le serveur s'ex&#233;cute.</p>
121
122     <p>Si vous avez besoin d'un vidage m&#233;moire pour le d&#233;bogage, vous
123     pouvez utiliser cette directive pour le placer &#224; un endroit
124     diff&#233;rent. Cette directive n'a aucun effet si votre syst&#232;me
125     d'exploitation n'est pas configur&#233; pour cr&#233;er des
126     fichiers de vidage m&#233;moire dans le r&#233;pertoire de travail des
127     processus qui se sont crash&#233;s.</p>
128
129     <div class="note"><h3>Vidages m&#233;moire sous Linux</h3>
130       <p>Si Apache httpd est d&#233;marr&#233; sous l'utilisateur root puis bascule vers
131       un autre utilisateur, le noyau Linux <em>d&#233;sactive</em> les
132       vidages m&#233;moire, m&#234;me si le r&#233;pertoire est accessible en &#233;criture au
133       processus. Apache httpd (versions 2.0.46 et sup&#233;rieures) r&#233;active les
134       vidages m&#233;moire sous Linux 2.4 et au del&#224;, mais seulement si vous
135       d&#233;finissez une directive <code class="directive">CoreDumpDirectory</code>.</p>
136     </div>
137
138     <div class="note">
139     <h3>Vidages m&#233;moire sous BSD</h3>
140     <p>Pour activer le vidage m&#233;moire des ex&#233;cutables suid sur les
141     syst&#232;mes de style BSD (comme FreeBSD), d&#233;finissez
142     <code>kern.sugid_coredump</code> &#224; 1.
143     </p>
144     </div>
145
146     <div class="note"><h3>Signaux sp&#233;cifiques</h3>
147       <p><code class="directive">CoreDumpDirectory</code> n'est trait&#233; qu'&#224; la
148       reception d'un certain nombre de signaux , SIGFPE, SIGILL, SIGABORT,
149       SIGSEGV, et SIGBUS.</p>
150       <p>
151       Sur certains syst&#232;mes d'exploitation, SIGQUIT provoque aussi un
152       vidage m&#233;moire, mais n'est pas trait&#233; par les directives
153       <code class="directive">CoreDumpDirectory</code> ou
154       <code class="directive">EnableExceptionHook</code>, si bien que la
155       d&#233;finition du r&#233;pertoire d'enregistrement du vidage m&#233;moire est
156       enti&#232;rement d&#233;volue au syst&#232;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&#233;cute des
164 gestionnaires d'exception apr&#232;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&#233;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&#233;curit&#233;, cette directive n'est disponible
172     que si la compilation du serveur a &#233;t&#233; configur&#233;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 &#224; effectuer un branchement et
176     accomplir telle ou telle action apr&#232;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&#233;f&#233;rer &#224; la <a href="https://emptyhammock.com/projects/httpd/diag/">page EnableExceptionHook</a> de Jeff Trawick pour plus
182     d'informations &#224; 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&#233;cifie le d&#233;lai maximum apr&#232;s lequel le serveur va
189 s'arr&#234;ter dans le cas d'un arr&#234;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&#233;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&#233;cifier le temps, en secondes, pendant lequel le serveur
198     va continuer &#224; fonctionner apr&#232;s avoir re&#231;u un signal
199     "graceful-stop" ("Arr&#234;t en douceur"), afin de terminer le traitement
200     des connexions en cours.</p>
201
202     <p>D&#233;finir cette valeur &#224; z&#233;ro signifie au serveur d'attendre
203     jusqu'&#224; ce que toutes les requ&#234;tes en cours aient &#233;t&#233; trait&#233;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 &#233;coute</td></tr>
210 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Listen [<var>adresse IP</var>:]<var>num&#233;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 &#224;
217     Apache httpd de ne se mettre &#224; l'&#233;coute que sur les adresses IP et ports sp&#233;cifi&#233;s ; par
218     d&#233;faut, le serveur r&#233;pond aux requ&#234;tes en provenance de toutes les
219     interfaces r&#233;seau. La directive <code class="directive">Listen</code> est
220     dor&#233;navant requise, et si elle est absente du fichier de
221     configuration, le serveur refusera de d&#233;marrer. Ceci constitue un
222     changement par rapport aux versions pr&#233;c&#233;dentes d'Apache httpd.</p>
223
224     <p>La directive <code class="directive">Listen</code> signifie au serveur de
225     n'accepter les requ&#234;tes entrantes que vers le port ou le couple
226     adresse-port sp&#233;cifi&#233;. Si seulement un port est sp&#233;cifi&#233;, le serveur
227     se met &#224; l'&#233;coute sur ce port sur toutes les interfaces r&#233;seau. Si une adresse IP
228     et un port sont sp&#233;cifi&#233;s, le serveur va se mettre &#224; l'&#233;coute sur ce port sur
229     l'interface r&#233;seau correspondant &#224; l'adresse IP.</p>
230
231     <p>On peut utiliser autant de directives
232     <code class="directive">Listen</code> que n&#233;cessaire pour sp&#233;cifier
233     plusieurs adresses et/ou ports &#224; &#233;couter. Le serveur r&#233;pondra aux
234     requ&#234;tes vers tous les adresses et ports sp&#233;cifi&#233;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&#233;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 &#234;tre entour&#233;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&#233;cessaire
257     dans la plupart des configurations. S'il est absent,
258     <code>https</code> est la valeur par d&#233;faut pour le port 443 et
259     <code>http</code> l'est pour tous les autres ports. L'argument
260     protocole sert &#224; d&#233;terminer quel module doit traiter une requ&#234;te, et
261     &#224; appliquer des optimisations sp&#233;cifiques &#224; certains protocoles &#224;
262     l'aide de la directive <code class="directive"><a href="../mod/core.html#acceptfilter">AcceptFilter</a></code>.</p>
263
264     <p>La sp&#233;cification d'un protocole n'est n&#233;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&#234;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&#232;mes avec DNS</a></li>
281 <li><a href="../bind.html">D&#233;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 &#224; 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&#233;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&#233;n&#233;ral, aucune modification n'est n&#233;cessaire, ni m&#234;me souhaitable ;
301     cependant, sur certains syst&#232;mes, il peut &#234;tre n&#233;cessaire
302     d'en augmenter la valeur en cas d'attaque TCP SYN flood (envoi en
303     masse de requ&#234;tes SYN pour saturer le serveur). Voir le param&#232;tre
304     backlog de l'appel syst&#232;me <code>listen(2)</code>.</p>
305
306     <p>En fait, l'argument backlog sera souvent limit&#233; &#224; une valeur
307     inf&#233;rieure en fonction du syst&#232;me d'exploitation. Notez aussi que de
308     nombreux syst&#232;mes d'exploitation ne tiennent pas vraiment compte de
309     la valeur sp&#233;cifi&#233;e pour l'argument backlog, mais s'en inspirent
310     seulement (et choisissent en g&#233;n&#233;ral une valeur sup&#233;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&#233;s et
317 le nombre de segments d'&#233;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&#233;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&#233;:</a></th><td>Disponible &#224; 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&#233;ment les nouvelles
326 connexions aux sockets d'&#233;coute des processus (ou threads) qui
327 l'utilisent (par exemple Linux versions 3.9 et ult&#233;rieures, mais pas
328 l'impl&#233;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&#233;cifier un
333     <var>ratio</var> entre le nombre de coeurs de CPU activ&#233;s et le nombre de
334     segments d'&#233;coute (listeners' buckets) souhait&#233;s ; le serveur HTTP Apache va
335     alors cr&#233;er<code>num_cpu_cores / ratio</code> segments d'&#233;coute, chacun
336     contenant son propre socket d'&#233;coute <code class="directive"><a href="#listen">Listen</a></code> sur le ou les m&#234;mes ports ; chaque
337     processus enfant sera associ&#233; &#224; un seul segment d'&#233;coute (avec une
338     distribution de type round-robin des segments &#224; la cr&#233;ation des processus
339     enfants).</p>
340
341     <div class="note"><h3>D&#233;finition du terme coeur de CPU activ&#233; ("online")</h3>
342     <p>Sous Linux et BSD, un coeur de CPU peut &#234;tre activ&#233; ou d&#233;sactiv&#233; si <a href="https://www.kernel.org/doc/Documentation/cpu-hotplug.txt">Hotplug</a>
343     a &#233;t&#233; configur&#233; ; la directive
344     <code class="directive">ListenCoresBucketsRatio</code> doit donc tenir compte de ce
345     param&#232;tre pour calculer le nombre de segments d'&#233;coute &#224; cr&#233;er.</p>
346     </div>
347
348     <p>La directive <code class="directive">ListenCoresBucketsRatio</code> peut
349     am&#233;liorer le support de la mont&#233;e en charge lorsque l'arriv&#233;e de
350     nouvelles connexions est/devient un goulot d'&#233;tranglement. Le test
351     de cette fonctionnalit&#233; avec des machines poss&#233;dant un nombre de
352     coeurs de CPU important a permit de constater une am&#233;lioration des
353     performances significative et des temps de r&#233;ponse plus courts.</p>
354
355     <p>Pour que cette fonctionnalit&#233; soit activ&#233;e, le nombre de coeurs
356     de CPU doit &#234;tre &#233;gal au moins au double du <var>ratio</var>
357     sp&#233;cifi&#233;. Si vous sp&#233;cifiez la valeur recommand&#233;e pour
358     <var>ratio</var>, &#224; 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 &#234;tre calcul&#233;e pour chaque syst&#232;me cible, en testant plusieurs valeurs
362     et en observant les r&#233;sultats.</p>
363
364     <p>Cette directive influence le calcul des valeurs limites inf&#233;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&#232;re optimale, le nombre de processus enfants doit &#234;tre un
367     multiple du nombre de segments d'&#233;coute.</p>
368
369     <div class="note">
370     <h3>Cas o&#249; plusieurs <code class="directive">Listen</code>ers ou serveurs HTTP
371     Apache partagent la m&#234;me adresse IP et port</h3>
372     <p>La d&#233;finition de l'option <code>SO_REUSEPORT</code> pour les sockets
373     d'&#233;coute permet &#224; plusieurs processus (partageant le m&#234;me <code>EUID</code>,
374     par exemple <code>root</code>) de se rattacher &#224; la m&#234;me adresse IP et port,
375     sans obtenir l'erreur de rattachement que le syst&#232;me g&#233;n&#232;re habituellement
376     lorsque ce cas se produit.</p>
377     <p>Cela signifie aussi que plusieurs instances d'Apache httpd configur&#233;es
378     avec le m&#234;me <code>IP:port</code> et avec une valeur
379     <code class="directive">ListenCoresBucketsRatio</code> positive pourraient d&#233;marrer
380     sans erreur, et fonctionner ensuite avec une r&#233;partition uniforme des
381     connexions entrantes sur ces diff&#233;rentes instances (ce n'est PAS une
382     recommandation et ne constitue pas un usage appropri&#233; &#224; tous les cas, mais
383     juste un avertissement sur le fait qu'un v&#233;ritable probl&#232;me de rattachement
384     multiple &#224; un <code>IP:port</code> pourrait alors &#234;tre occult&#233;).</p>
385     <p>Au sein d'une m&#234;me instance, Apache httpd v&#233;rifie la pr&#233;sence de
386     directives <code class="directive">Listen</code> multiples avec la m&#234;me adresse IP
387     (ou nom d'h&#244;te) et le m&#234;me port, et refuse de d&#233;marrer si c'est le cas, ce
388     qui permet d'&#233;viter la cr&#233;ation de segments d'&#233;coute dupliqu&#233;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&#244;te correspondant &#224; une adresse IP utilis&#233;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&#233;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&#233;:</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&#233;.</td></tr>
409 </table>
410     <p>La directive <code class="directive">MaxConnectionsPerChild</code> permet de
411     d&#233;finir le nombre maximum de connexions qu'un processus enfant va
412     pouvoir traiter au cours de son fonctionnement. Lorsqu'il a trait&#233;
413     <code class="directive">MaxConnectionsPerChild</code> connexions, le processus
414     enfant est arr&#234;t&#233;. Si <code class="directive">MaxConnectionsPerChild</code> est
415     d&#233;finie &#224; <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&#233;finir <code class="directive">MaxConnectionsPerChild</code> &#224; une valeur
419     non nulle limite la quantit&#233; de m&#233;moire qu'un processus peut
420     consommer &#224; cause de fuites (accidentelles) de m&#233;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&#233; maximale de m&#233;moire que l'allocateur principal est
428 autoris&#233; &#224; 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&#233;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&#233;finir
436     le nombre maximum de KOctets libres que tout allocateur est
437     autoris&#233; &#224; conserver sans appeler <code>free()</code>. Dans les MPMs
438     thread&#233;s, chaque thread poss&#232;de son propre allocateur. Si elle est
439     d&#233;finie &#224; 0, la quantit&#233; de m&#233;moire libre que peut conserver un
440     allocateur est illimit&#233;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 &#234;tre trait&#233;es
447 simultan&#233;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&#233;faut:</a></th><td><code>Voir ci-dessous pour plus de d&#233;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&#234;tes pouvant &#234;tre trait&#233;es simultan&#233;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'&#224; un certain nombre d&#233;pendant de la
459     directive <code class="directive"><a href="#listenbacklog">ListenBacklog</a></code>.
460     Lorsqu'un processus enfant se lib&#232;rera suite &#224; la fin du traitement
461     d'une requ&#234;te, la connexion en attente pourra &#234;tre trait&#233;e &#224; son
462     tour.</p>
463
464     <p>Pour les serveurs non thread&#233;s (<em>c'est &#224; dire</em> utilisant
465     <code class="module"><a href="../mod/prefork.html">prefork</a></code>), la directive
466     <code class="directive">MaxRequestWorkers</code> d&#233;finit alors le nombre maximum de
467     processus enfants qui pourront &#234;tre lanc&#233;s simultan&#233;ment pour
468     traiter les requ&#234;tes. La valeur par d&#233;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&#233;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&#233;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&#233;faut est <code>16</code>
477     (directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code>) multipli&#233; par la valeur
478     <code>25</code> (directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>). Par cons&#233;quent, pour affecter &#224; 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     &#233;tait <code class="directive">MaxClients</code> avant la version 2.3.13. Cet
485     ancien nom est encore support&#233;.</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&#233;faut:</a></th><td><code>Voir ci-dessous pour plus de d&#233;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&#233;rentes mani&#232;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&#233;finition par d&#233;faut est
502     <code>MaxSpareThreads 250</code>. Ce MPM g&#232;re les threads inactifs
503     au niveau du serveur. Si le serveur poss&#232;de trop de threads
504     inactifs, des processus enfants seront arr&#234;t&#233;s jusqu'&#224; ce que le
505     nombre de threads inactifs repasse en dessous de cette limite. Des
506     processus/threads suppl&#233;mentaires sont susceptibles d'&#234;tre cr&#233;&#233;s si
507     <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> est
508     activ&#233;e.</p>
509
510     <p>Pour <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la d&#233;finition par d&#233;faut est
511     <code>MaxSpareThreads 100</code>. Comme ce MPM n'ex&#233;cute qu'un seul
512     processus, le nombre de processus inactifs est surveill&#233; 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&#232;re similaire &#224;
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&#233;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&#233;e. Apache httpd corrigera automatiquement cette valeur selon
522       les r&#232;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 &#234;tre sup&#233;rieure &#224; <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 &#234;tre sup&#233;rieure ou &#233;gale &#224; 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&#234;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&#233;faut:</a></th><td><code>Voir ci-dessous pour plus de d&#233;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 &#234;tre en mesure
551     de traiter les pics de requ&#234;tes. Les MPMs utilisent cette directive
552     de diff&#233;rentes mani&#232;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&#233;finition par d&#233;faut est
555     <code>MinSpareThreads 75</code>, et le nombre de threads inactifs
556     est surveill&#233; au niveau du serveur. Si le serveur ne poss&#232;de pas
557     assez de threads inactifs, des processus enfants sont cr&#233;&#233;s jusqu'&#224;
558     ce que le nombre de threads inactifs repasse au dessus de
559     <var>nombre</var>. Des processus/threads suppl&#233;mentaires peuvent
560     &#234;tre cr&#233;&#233;s si <code class="directive"><a href="#listencoresbucketsratio">ListenCoresBucketsRatio</a></code> est activ&#233;e.</p>
561
562     <p>Avec <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la d&#233;finition par d&#233;faut est
563     <code>MinSpareThreads 10</code> et, comme ce MPM n'ex&#233;cute qu'un
564     seul processus, le nombre de threads est surveill&#233; 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&#232;re similaire &#224;
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&#233;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&#233;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&#233;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&#233;finir le
591     ficher dans lequel le serveur
592     enregistre l'identificateur de processus du d&#233;mon. Si le chemin du
593     fichier n'est pas absolu, il est consid&#233;r&#233; comme relatif au chemin
594     d&#233;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 &#224; 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) &#224; l'identificateur de processus enregistr&#233; dans le fichier
604     d&#233;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&#234;mes avertissements que ceux concernant le chemin d'enregistrement
608     des fichiers journaux et la <a href="../misc/security_tips.html#serverroot">s&#233;curit&#233;</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&#233;marrage fourni avec votre syst&#232;me d'exploitation pour (re)d&#233;marrer ou
614       arr&#234;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&#233;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&#233;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&#233;e au
629     nombre d'octets sp&#233;cifi&#233;.</p>
630
631     <p>Si la directive est d&#233;finie &#224; <code>0</code>, le serveur va
632     utiliser la valeur par d&#233;faut adopt&#233;e par le syst&#232;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&#249; sont stock&#233;es les donn&#233;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&#233;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&#233;cessitent un fichier. En l'absence de cette directive, donc si
651     aucun nom de fichier n'est sp&#233;cifi&#233;, Apache httpd tentera tout
652     d'abord de cr&#233;er un tableau uniquement en m&#233;moire (en utilisant la
653     m&#233;moire partag&#233;e anonyme) ; et si il n'y parvient pas, il tentera de
654     cr&#233;er un fichier sur disque (en utilisant la m&#233;moire partag&#233;e &#224; base
655     de fichier). Si cette directive est utilis&#233;e, Apache httpd cr&#233;era
656     syst&#233;matiquement un fichier sur disque.</p>
657
658     <p>Si <var>file-path</var> n'est pas un chemin absolu, il sera relatif &#224; la
659     valeur sp&#233;cifi&#233;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&#233;moire partag&#233;e sous forme de fichier est utile pour les
666     applications tierces qui n&#233;cessitent un acc&#232;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&#233;lioration des performances en le pla&#231;ant
671     sur un disque virtuel en RAM. Assurez-vous cependant de tenir compte
672     des m&#234;mes avertissements que ceux concernant le chemin du fichier
673     journal et la <a href="../misc/security_tips.html">s&#233;curit&#233;</a>.</p>
674
675 <h3>Voir aussi</h3>
676 <ul>
677 <li><a href="../stopping.html">Arr&#234;ter et red&#233;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&#233;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&#233;finit la taille du tampon TCP en sortie avec le nombre
692     d'octets sp&#233;cifi&#233;. Ceci s'av&#232;re souvent tr&#232;s utile pour augmenter les
693     valeurs par d&#233;faut standards du pass&#233; des syst&#232;mes d'exploitation
694     pour les transmissions &#224; grande vitesse et haute densit&#233; (<em>c'est
695     &#224; dire</em> de l'ordre de 100ms comme sur les liaisons rapides
696     transcontinentales).</p>
697
698     <p>Si la directive est d&#233;finie &#224; <code>0</code>, le serveur va
699     utiliser la valeur par d&#233;faut adopt&#233;e par le syst&#232;me
700     d'exploitation.</p>
701
702     <p>L'am&#233;lioration des performances des connexions &#224; grande vitesse
703     et &#224; temps de latence &#233;lev&#233;, peut n&#233;cessiter
704     une intervention au niveau de la configuration de votre syst&#232;me
705     d'exploitation.</p>
706
707     <div class="note"><p>Sous certains syst&#232;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 &#234;tre
710     perceptible, si la directive <code class="directive"><a href="../mod/core.html#enablesendfile">EnableSendfile</a></code> n'est pas d&#233;finie &#224; 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&#233;rieure de la d&#233;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&#233;faut:</a></th><td><code>Voir ci-dessous pour plus de d&#233;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&#233;finit le
726     nombre maximum que l'on peut affecter &#224; la directive <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>, et ceci pour la
727     dur&#233;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&#233;finit le
730     nombre maximum que l'on peut affecter &#224; <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code>, et ceci pour la dur&#233;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&#233;finir combien de processus anciens peuvent
733     continuer &#224; s'ex&#233;cuter pour terminer le traitement des connexions ouvertes.    
734     Au cours d'un red&#233;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&#233;e.</p>
737
738     <p>Cette directive doit &#234;tre utilis&#233;e avec pr&#233;caution. Si
739     <code class="directive">ServerLimit</code> est d&#233;finie &#224; une valeur beaucoup
740     plus grande que n&#233;cessaire, de la m&#233;moire partag&#233;e suppl&#233;mentaire
741     sera inutilement allou&#233;e. Si &#224; la fois
742     <code class="directive">ServerLimit</code> et <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> poss&#232;dent des valeurs
743     sup&#233;rieures &#224; ce que le syst&#232;me peut supporter, ce dernier peut
744     devenir instable ou Apache httpd peut tout simplement refuser de d&#233;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&#233;finir <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> &#224; une valeur sup&#233;rieure &#224;
748     256 (valeur par d&#233;faut). N'affectez pas &#224; la directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code> une valeur sup&#233;rieure &#224;
749     celle que vous avez pr&#233;vu d'affecter &#224; 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&#233;finition de vos directives <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> n&#233;cessitent plus de
753     16 processus serveurs (valeur par d&#233;faut). N'affectez pas &#224; la
754     directive <code class="directive"><a href="#serverlimit">ServerLimit</a></code> une
755     valeur sup&#233;rieure au nombre de processus requis pour la d&#233;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&#233;fini par les directives <code class="directive"><a href="#maxrequestworkers">MaxRequestWorkers</a></code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> augment&#233; du nombre de processus
761     en proc&#233;dure d'arr&#234;t "graceful" est sup&#233;rieur &#224; 16 (valeur par d&#233;faut).</p>
762
763     <div class="note"><h3>Note</h3>
764       <p>Il existe une limite de <code>ServerLimit 20000</code> cod&#233;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&#233; &#233;viter les effets d&#233;sastreux que pourrait provoquer
767       une faute de frappe. Pour d&#233;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&#234;ter et red&#233;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&#233;&#233;s au
782 d&#233;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&#233;faut:</a></th><td><code>Voir ci-dessous pour plus de d&#233;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&#233;finir le nombre de processus enfants du serveur cr&#233;&#233;s au
791     d&#233;marrage. Comme le nombre de processus est contr&#244;l&#233; 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&#233;n&#233;ral
793     pas n&#233;cessaire d'ajuster ce param&#232;tre.</p>
794
795     <p>La valeur par d&#233;faut diff&#232;re d'un MPM &#224; 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&#233;finition par d&#233;faut est
797     <code>StartServers 3</code> ; la valeur par d&#233;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&#233;&#233;s au d&#233;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&#233;faut:</a></th><td><code>Voir ci-dessous pour plus de d&#233;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&#233;&#233;s au d&#233;marrage du serveur. Comme
813     le nombre de threads est contr&#244;l&#233; 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&#233;n&#233;ral
815     pas n&#233;cessaire d'ajuster ce param&#232;tre.</p>
816
817     <p>Pour <code class="module"><a href="../mod/mpm_netware.html">mpm_netware</a></code>, la d&#233;finition par d&#233;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&#233;&#233;s au d&#233;marrage pour servir les
820     requ&#234;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&#233;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&#233;faut:</a></th><td><code>Voir ci-dessous pour plus de d&#233;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&#233;finir le nombre maximum que l'on peut
835     affecter &#224; la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> pour la dur&#233;e de vie
836     du processus Apache httpd. La directive  <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> peut &#234;tre modifi&#233;e
837     au cours d'un red&#233;marrage jusqu'&#224; 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&#233;marrage sera ignor&#233;e.</p>
840
841     <p>L'utilisation de cette directive doit faire l'objet de
842     pr&#233;cautions particuli&#232;res. Si <code class="directive">ThreadLimit</code> est
843     d&#233;finie &#224; une valeur tr&#232;s sup&#233;rieure &#224; la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code>, de la m&#233;moire
844     partag&#233;e suppl&#233;mentaire sera inutilement allou&#233;e. Si les directives
845     <code class="directive">ThreadLimit</code> et <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> sont d&#233;finies &#224; des
846     valeurs sup&#233;rieures &#224; ce que le syst&#232;me peut supporter, ce dernier
847     peut devenir instable, ou Apache httpd peut tout simplement refuser de
848     d&#233;marrer. Ne d&#233;finissez pas cette directive &#224; une valeur sup&#233;rieure
849     &#224; la valeur maximale que vous pensez affecter &#224; la directive <code class="directive"><a href="#threadsperchild">ThreadsPerChild</a></code> pour le processus
850     Apache httpd en cours d'ex&#233;cution.</p>
851
852     <p>La valeur par d&#233;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&#233;e en dur dans le serveur. Ceci est cens&#233; &#233;viter les effets
862       d&#233;sastreux que pourrait provoquer une faute de frappe. Pour
863       d&#233;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&#233;&#233;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&#233;faut:</a></th><td><code>Voir ci-dessous pour plus de d&#233;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&#233;finir le nombre de threads que va
881     cr&#233;er chaque processus enfant. Un processus enfant cr&#233;e ces threads
882     au d&#233;marrage et n'en cr&#233;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 &#234;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 &#234;tre suffisamment grand
888     pour supporter la charge du serveur.</p>
889
890     <p>La valeur par d&#233;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&#233;passer la valeur de la directive <code class="directive"><a href="#threadslimit">ThreadsLimit</a></code>. Si on sp&#233;cifie une valeur
897     sup&#233;rieure, elle sera automatiquement r&#233;duite au d&#233;marrage du serveur et un
898     avertissement sera enregistr&#233; dans le journal. La relation entre ces deux
899     directives est expliqu&#233;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&#233;faut:</a></th><td><code>65536 sous NetWare; varie en fonction des autres syst&#232;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&#233;finir la taille de la pile (pour les donn&#233;es propres) qu'utilisent
916     les threads qui traitent les connexions clients en faisant appel &#224;
917     des modules. Dans la plupart des cas, la valeur par d&#233;faut de la
918     taille de la pile du syst&#232;me d'exploitation convient, mais il existe
919     certaines situations o&#249; il peut s'av&#233;rer n&#233;cessaire de l'ajuster
920     :</p>
921
922     <ul>
923       <li>Sur les plates-formes qui poss&#232;dent une valeur par d&#233;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&#232;dent un quantit&#233; de donn&#233;es propres stock&#233;es relativement
927       importante. Il se peut que ces m&#234;mes modules fonctionnent
928       correctement sur d'autres plate-formes o&#249; la valeur par d&#233;faut de
929       la taille de la pile est sup&#233;rieure. Ce type de crash peut &#234;tre
930       evit&#233; en d&#233;finissant <code class="directive">ThreadStackSize</code> &#224; une
931       valeur sup&#233;rieure &#224; la valeur par d&#233;faut du syst&#232;me
932       d'exploitation. Ce type d'ajustement n'est n&#233;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 &#233;tait trop
935       petite.</li>
936
937       <li>Sur les plates-formes o&#249; la taille par d&#233;faut de la pile des
938       threads est sensiblement sup&#233;rieure &#224; la taille n&#233;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&#233;finie &#224; une valeur
942       inf&#233;rieure &#224; la valeur par d&#233;faut du syst&#232;me d'exploitation.
943       Cependant, ce
944       type d'ajustement ne doit &#234;tre effectu&#233; que dans un environnement
945       de test permettant de qualifier le serveur web au maximum de ses
946       possibilit&#233;s, car il peut arriver, dans de rares cas, que des
947       requ&#234;tes n&#233;cessitent une taille de pile sup&#233;rieure pour pouvoir
948       &#234;tre trait&#233;es. La taille minimale requise pour la pile d&#233;pend
949       fortement des modules utilis&#233;s, mais toute modification dans la
950       configuration du serveur web peut invalider la d&#233;finition courante
951       de la directive <code class="directive">ThreadStackSize</code>.</li>
952
953       <li>Sous Linux, cette directive ne peut &#234;tre utilis&#233;e que pour
954       augmenter la valeur par defaut de la taille de la pile, car
955       l'appel syst&#232;me sous-jacent utilise cette valeur comme taille de pile
956       <em>minimale</em>. C'est la limite logicielle (souvent &#233;lev&#233;e)
957       pour <code>ulimit -s</code> (8Mo si aucune limite) qui est
958       utilis&#233;e comme taille de pile par d&#233;faut.</li>
959     </ul>
960
961     <div class="note">Il est recommand&#233; de ne pas r&#233;duire
962     <code class="directive">ThreadStackSize</code>, &#224; moins qu'un grand nombre
963     de threads par processus enfant ne soit n&#233;cessaire. Sur certaines
964     plates-formes (y compris Linux), une valeur de 128000 est d&#233;j&#224; 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&#231;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&#252;rk&#231;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&#233; 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>