]> granicus.if.org Git - apache/blob - docs/manual/mod/prefork.xml.fr
Merge in APR[-util] macros from branches/trunk-buildconf-noapr
[apache] / docs / manual / mod / prefork.xml.fr
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision : 1137744 -->
5 <!-- French translation : Lucien GENTIS -->
6 <!-- Reviewed by : Vincent Deffontaines -->
7
8 <!--
9  Licensed to the Apache Software Foundation (ASF) under one or more
10  contributor license agreements.  See the NOTICE file distributed with
11  this work for additional information regarding copyright ownership.
12  The ASF licenses this file to You under the Apache License, Version 2.0
13  (the "License"); you may not use this file except in compliance with
14  the License.  You may obtain a copy of the License at
15
16      http://www.apache.org/licenses/LICENSE-2.0
17
18  Unless required by applicable law or agreed to in writing, software
19  distributed under the License is distributed on an "AS IS" BASIS,
20  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  See the License for the specific language governing permissions and
22  limitations under the License.
23 -->
24
25 <modulesynopsis metafile="prefork.xml.meta">
26
27 <name>prefork</name>
28 <description>Implémente un serveur web avec démarrage anticipé de
29 processus, sans thread</description>
30 <status>MPM</status>
31 <sourcefile>prefork.c</sourcefile>
32 <identifier>mpm_prefork_module</identifier>
33
34 <summary>
35     <p>Ce module multi-processus (MPM) implémente un serveur web avec
36     démarrage anticipé de processus. Chaque processus du serveur peut
37     répondre aux requêtes entrantes, et un processus parent contrôle la
38     taille du jeu de processus enfants. Il est particulièrement indiqué pour les
39     sites qui ne doivent pas utiliser les threads afin de maintenir une
40     compatibilité avec certaines bibliothèques non sûres du point de vue
41     des threads. C'est également le MPM le plus approprié si l'on veut
42     isoler les requêtes les unes des autres, de façon à ce qu'un
43     problème concernant une requête n'affecte pas les autres.</p>
44
45     <p>Ce MPM s'auto-contrôle de manière efficace, de sorte qu'il est
46     rarement nécessaire d'ajuster ses directives de configuration. Le
47     plus important est la définition de la directive <directive
48     module="mpm_common">MaxRequestWorkers</directive> ; sa valeur doit être
49     assez grande pour pouvoir traiter autant de requêtes simultanées que
50     vous pensez recevoir, mais assez petite pour conserver suffisamment
51     de mémoire RAM pour tous les processus.</p>
52 </summary>
53 <seealso><a href="../bind.html">Définition des adresses et ports
54 qu'utilise le serveur HTTP Apache</a></seealso>
55
56 <section id="how-it-works"><title>Comment ça marche</title>
57     <p>Un processus de contrôle unique a pour tâche de lancer les
58     processus enfants qui attendent les connexions et les traitent au
59     fur et à mesure qu'elles arrivent. Apache httpd essaie toujours de
60     maintenir plusieurs processus serveurs inactifs ou <dfn>en
61     réserve</dfn>, afin de pouvoir traiter les requêtes entrantes. De
62     cette façon, les clients n'ont pas besoin d'attendre le démarrage
63     d'un nouveau processus enfant pour que leurs requêtes puissent être
64     traitées.</p>
65
66     <p>Les directives <directive
67     module="mpm_common">StartServers</directive>, <directive
68     module="prefork">MinSpareServers</directive>, <directive
69     module="prefork">MaxSpareServers</directive> et <directive
70     module="mpm_common">MaxRequestWorkers</directive> permettent de contrôler
71     la manière dont le processus parent crée les processus enfants pour
72     traiter les requêtes. En général, Apache httpd s'auto-contrôle de manière
73     efficace, de sorte que la plupart des sites peuvent conserver les
74     valeurs par défaut des directives. Les sites qui doivent traiter
75     plus de 256 requêtes simultanées doivent augmenter la valeur de
76     <directive module="mpm_common">MaxRequestWorkers</directive>, alors que les
77     sites dont la ressource mémoire est limitée doivent la diminuer afin
78     d'éviter une hyperactivité du serveur (utilisation excessive de la
79     mémoire virtuelle sur disque). Vous trouverez plus d'informations à
80     propos du contrôle de la création de processus dans le document <a
81     href="../misc/perf-tuning.html">conseils en matière de
82     performances</a></p>
83
84     <p>Alors que le processus parent est en général démarré en tant que
85     <code>root</code> sous Unix afin de pouvoir se mettre à l'écoute sur le port 80, les
86     processus enfants sont lancés par Apache httpd sous un utilisateur avec
87     privilèges restreints. On peut contrôler les privilèges accordés aux
88     processus enfants d'Apache httpd à l'aide des directives <directive
89     module="mod_unixd">User</directive> et <directive
90     module="mod_unixd">Group</directive>. Les processus enfants doivent
91     être en mesure de lire tous les contenus destinés à être servis,
92     mais leurs privilèges doivent être aussi bas que possible.</p>
93
94     <p>La directive <directive
95     module="mpm_common">MaxConnectionsPerChild</directive> permet de
96     contrôler la fréquence à laquelle le serveur recycle ses processus
97     en arrêtant les plus anciens et en en lançant de nouveaux.</p>
98
99     <p>Ce module MPM utilise le mutex <code>mpm-accept</code> pour
100     sérialiser l'accès aux connexions entrantes lorsque peut se
101     présenter un problème d'afflux de requêtes (en général quand il y a
102     plusieurs sockets en écoute). Les aspects de l'implémentation de ce
103     mutex peuvent être configurés via la directive <directive
104     module="core">Mutex</directive>. Vous trouverez des informations
105     supplémentaires à propos de ce mutex dans la documentation à propos
106     des  <a href="../misc/perf-tuning.html">conseils en matière de
107     performances</a></p>
108 </section>
109
110 <directivesynopsis location="mpm_common"><name>CoreDumpDirectory</name>
111 </directivesynopsis>
112 <directivesynopsis location="mpm_common"><name>EnableExceptionHook</name>
113 </directivesynopsis>
114 <directivesynopsis location="mpm_common"><name>PidFile</name>
115 </directivesynopsis>
116 <directivesynopsis location="mpm_common"><name>Listen</name>
117 </directivesynopsis>
118 <directivesynopsis location="mpm_common"><name>ListenBacklog</name>
119 </directivesynopsis>
120 <directivesynopsis location="mpm_common"><name>MaxRequestWorkers</name>
121 </directivesynopsis>
122 <directivesynopsis location="mpm_common"><name>MaxMemFree</name>
123 </directivesynopsis>
124 <directivesynopsis location="mpm_common"><name>MaxConnectionsPerChild</name>
125 </directivesynopsis>
126 <directivesynopsis location="mpm_common"><name>ScoreBoardFile</name>
127 </directivesynopsis>
128 <directivesynopsis location="mpm_common"><name>ReceiveBufferSize</name>
129 </directivesynopsis>
130 <directivesynopsis location="mpm_common"><name>SendBufferSize</name>
131 </directivesynopsis>
132 <directivesynopsis location="mpm_common"><name>ServerLimit</name>
133 </directivesynopsis>
134 <directivesynopsis location="mpm_common"><name>StartServers</name>
135 </directivesynopsis>
136 <directivesynopsis location="mod_unixd"><name>User</name>
137 </directivesynopsis>
138 <directivesynopsis location="mod_unixd"><name>Group</name>
139 </directivesynopsis>
140
141 <directivesynopsis>
142 <name>MaxSpareServers</name>
143 <description>Nombre maximum de processus serveurs enfants
144 inactifs</description>
145 <syntax>MaxSpareServers <var>nombre</var></syntax>
146 <default>MaxSpareServers 10</default>
147 <contextlist><context>server config</context></contextlist>
148
149 <usage>
150     <p>La directive <directive>MaxSpareServers</directive> permet de
151     définir le nombre maximum souhaité de processus serveurs enfants
152     <em>inactifs</em>. Un processus inactif est un processus qui ne
153     traite pas de requête. S'il y a plus de
154     <directive>MaxSpareServers</directive> processus inactifs, le
155     processus parent arrêtera les processus excédentaires.</p>
156
157     <p>La modification de ce paramètre n'est nécessaire que
158     dans le cas de sites très sollicités. Définir ce paramètre à une
159     valeur très grande est cependant dans la plupart des cas une
160     mauvaise idée. Si vous essayez d'affecter à ce paramètre une valeur
161     égale ou inférieure à la valeur de <directive
162     module="prefork">MinSpareServers</directive>, le serveur HTTP Apache
163     l'ajustera automatiquement à la valeur de <directive>
164     MinSpareServers</directive><code> + 1</code>.</p>
165 </usage>
166 <seealso><directive module="prefork">MinSpareServers</directive></seealso>
167 <seealso><directive module="mpm_common">StartServers</directive></seealso>
168 <seealso><directive module="mpm_common">MaxSpareThreads</directive></seealso>
169 </directivesynopsis>
170
171 <directivesynopsis>
172 <name>MinSpareServers</name>
173 <description>Nombre minimum de processus serveurs enfants
174 inactifs</description>
175 <syntax>MinSpareServers <var>nombre</var></syntax>
176 <default>MinSpareServers 5</default>
177 <contextlist><context>server config</context></contextlist>
178
179 <usage>
180     <p>La directive <directive>MinSpareServers</directive> permet de
181     définir le nombre minimum désiré de processus serveurs enfants
182     <em>inactifs</em>. Un processus inactif est un processus qui ne
183     traite pas de requête. S'il y a moins de
184     <directive>MinSpareServers</directive> processus inactifs, le
185     processus parent va créer de nouveaux enfants de la manière suivante
186     : il en crée un, attend une seconde, il en crée deux, attend une
187     seconde, il en crée quatre, puis continue ainsi exponentiellement
188     jusu'à ce que son taux de création de processus enfants soit de 32
189     par seconde. Il ne s'arrête que lorsque le nombre de processus
190     enfants correspond à la définition de la directive
191     <directive>MinSpareServers</directive>.</p>
192
193     <p>La modification de ce paramètre n'est nécessaire que
194     dans le cas de sites très sollicités. Définir ce paramètre à une
195     valeur très grande est dans la plupart des cas une mauvaise
196     idée.</p>
197 </usage>
198 <seealso><directive module="prefork">MaxSpareServers</directive></seealso>
199 <seealso><directive module="mpm_common">StartServers</directive></seealso>
200 <seealso><directive module="mpm_common">MinSpareThreads</directive></seealso>
201 </directivesynopsis>
202
203 </modulesynopsis>
204