summaryrefslogtreecommitdiffstats
path: root/docs/manual/mod/prefork.html.fr
blob: 396c4f81a7cf680a95fa04eaf74114e866874d5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>prefork - Serveur HTTP Apache Version 2.5</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<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" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>

<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<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>
<p class="apache">Serveur HTTP Apache Version 2.5</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<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>
<div id="page-content">
<div id="preamble"><h1>Apache MPM prefork</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/prefork.html" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Impl&#233;mente un serveur web avec d&#233;marrage anticip&#233; de
processus, sans thread</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur&#160;de&#160;Module:</a></th><td>mpm_prefork_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier&#160;Source:</a></th><td>prefork.c</td></tr></table>
<h3>Sommaire</h3>

    <p>Ce module multi-processus (MPM) impl&#233;mente un serveur web avec
    d&#233;marrage anticip&#233; de processus. Chaque processus du serveur peut
    r&#233;pondre aux requ&#234;tes entrantes, et un processus parent contr&#244;le la
    taille du jeu de processus enfants. Il est particuli&#232;rement indiqu&#233; pour les
    sites qui ne doivent pas utiliser les threads afin de maintenir une
    compatibilit&#233; avec certaines biblioth&#232;ques non s&#251;res du point de vue
    des threads. C'est &#233;galement le MPM le plus appropri&#233; si l'on veut
    isoler les requ&#234;tes les unes des autres, de fa&#231;on &#224; ce qu'un
    probl&#232;me concernant une requ&#234;te n'affecte pas les autres.</p>

    <p>Ce MPM s'auto-contr&#244;le de mani&#232;re efficace, de sorte qu'il est
    rarement n&#233;cessaire d'ajuster ses directives de configuration. Le
    plus important est la d&#233;finition de la directive <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> ; sa valeur doit &#234;tre
    assez grande pour pouvoir traiter autant de requ&#234;tes simultan&#233;es que
    vous pensez recevoir, mais assez petite pour conserver suffisamment
    de m&#233;moire RAM pour tous les processus.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">Comment &#231;a marche</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#coredumpdirectory">CoreDumpDirectory</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#enableexceptionhook">EnableExceptionHook</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#group">Group</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listen">Listen</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#listenbacklog">ListenBacklog</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxmemfree">MaxMemFree</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#maxspareservers">MaxSpareServers</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#minspareservers">MinSpareServers</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#pidfile">PidFile</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#receivebuffersize">ReceiveBufferSize</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#scoreboardfile">ScoreBoardFile</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#sendbuffersize">SendBufferSize</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#serverlimit">ServerLimit</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#startservers">StartServers</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mod_unixd.html#user">User</a></li>
</ul>
<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_prefork">Probl&#232;mes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mpm_prefork">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../bind.html">D&#233;finition des adresses et ports
qu'utilise le serveur HTTP Apache</a></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="how-it-works" id="how-it-works">Comment &#231;a marche</a><a title="Lien permanent" href="#how-it-works" class="permalink">&para;</a></h2>
    <p>Un processus de contr&#244;le unique a pour t&#226;che de lancer les
    processus enfants qui attendent les connexions et les traitent au
    fur et &#224; mesure qu'elles arrivent. Apache httpd essaie toujours de
    maintenir plusieurs processus serveurs inactifs ou <dfn>en
    r&#233;serve</dfn>, afin de pouvoir traiter les requ&#234;tes entrantes. De
    cette fa&#231;on, les clients n'ont pas besoin d'attendre le d&#233;marrage
    d'un nouveau processus enfant pour que leurs requ&#234;tes puissent &#234;tre
    trait&#233;es.</p>

    <p>Les directives <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code>, <code class="directive"><a href="#minspareservers">MinSpareServers</a></code>, <code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code> et <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> permettent de contr&#244;ler
    la mani&#232;re dont le processus parent cr&#233;e les processus enfants pour
    traiter les requ&#234;tes. En g&#233;n&#233;ral, Apache httpd s'auto-contr&#244;le de mani&#232;re
    efficace, de sorte que la plupart des sites peuvent conserver les
    valeurs par d&#233;faut des directives. Les sites qui doivent traiter
    plus de 256 requ&#234;tes simultan&#233;es doivent augmenter la valeur de
    <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>, alors que les
    sites dont la ressource m&#233;moire est limit&#233;e doivent la diminuer afin
    d'&#233;viter une hyperactivit&#233; du serveur (utilisation excessive de la
    m&#233;moire virtuelle sur disque). Vous trouverez plus d'informations &#224;
    propos du contr&#244;le de la cr&#233;ation de processus dans le document <a href="../misc/perf-tuning.html">conseils en mati&#232;re de
    performances</a></p>

    <p>Alors que le processus parent est en g&#233;n&#233;ral d&#233;marr&#233; en tant que
    <code>root</code> sous Unix afin de pouvoir se mettre &#224; l'&#233;coute sur le port 80, les
    processus enfants sont lanc&#233;s par Apache httpd sous un utilisateur avec
    privil&#232;ges restreints. On peut contr&#244;ler les privil&#232;ges accord&#233;s aux
    processus enfants d'Apache httpd &#224; l'aide des directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code>. Les processus enfants doivent
    &#234;tre en mesure de lire tous les contenus destin&#233;s &#224; &#234;tre servis,
    mais leurs privil&#232;ges doivent &#234;tre aussi bas que possible.</p>

    <p>La directive <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code> permet de
    contr&#244;ler la fr&#233;quence &#224; laquelle le serveur recycle ses processus
    en arr&#234;tant les plus anciens et en en lan&#231;ant de nouveaux.</p>

    <p>Ce module MPM utilise le mutex <code>mpm-accept</code> pour
    s&#233;rialiser l'acc&#232;s aux connexions entrantes lorsque peut se
    pr&#233;senter un probl&#232;me d'afflux de requ&#234;tes (en g&#233;n&#233;ral quand il y a
    plusieurs sockets en &#233;coute). Les aspects de l'impl&#233;mentation de ce
    mutex peuvent &#234;tre configur&#233;s via la directive <code class="directive"><a href="../mod/core.html#mutex">Mutex</a></code>. Vous trouverez des informations
    suppl&#233;mentaires &#224; propos de ce mutex dans la documentation &#224; propos
    des  <a href="../misc/perf-tuning.html">conseils en mati&#232;re de
    performances</a></p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="maxspareservers" id="maxspareservers">Directive</a> <a name="MaxSpareServers" id="MaxSpareServers">MaxSpareServers</a><a title="Lien permanent" href="#maxspareservers" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de processus serveurs enfants
inactifs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxSpareServers <var>nombre</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">D&#233;faut:</a></th><td><code>MaxSpareServers 10</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>prefork</td></tr>
</table>
    <p>La directive <code class="directive">MaxSpareServers</code> permet de
    d&#233;finir le nombre maximum souhait&#233; de processus serveurs enfants
    <em>inactifs</em>. Un processus inactif est un processus qui ne
    traite pas de requ&#234;te. S'il y a plus de
    <code class="directive">MaxSpareServers</code> processus inactifs, le
    processus parent arr&#234;tera les processus exc&#233;dentaires.</p>

    <p>La modification de ce param&#232;tre n'est n&#233;cessaire que
    dans le cas de sites tr&#232;s sollicit&#233;s. D&#233;finir ce param&#232;tre &#224; une
    valeur tr&#232;s grande est cependant dans la plupart des cas une
    mauvaise id&#233;e. Si vous essayez d'affecter &#224; ce param&#232;tre une valeur
    &#233;gale ou inf&#233;rieure &#224; la valeur de <code class="directive"><a href="#minspareservers">MinSpareServers</a></code>, le serveur HTTP Apache
    l'ajustera automatiquement &#224; la valeur de <code class="directive">
    MinSpareServers</code><code> + 1</code>.</p>

<h3>Voir aussi</h3>
<ul>
<li><code class="directive"><a href="#minspareservers">MinSpareServers</a></code></li>
<li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li>
<li><code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="minspareservers" id="minspareservers">Directive</a> <a name="MinSpareServers" id="MinSpareServers">MinSpareServers</a><a title="Lien permanent" href="#minspareservers" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre minimum de processus serveurs enfants
inactifs</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MinSpareServers <var>nombre</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">D&#233;faut:</a></th><td><code>MinSpareServers 5</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>prefork</td></tr>
</table>
    <p>La directive <code class="directive">MinSpareServers</code> permet de
    d&#233;finir le nombre minimum d&#233;sir&#233; de processus serveurs enfants
    <em>inactifs</em>. Un processus inactif est un processus qui ne
    traite pas de requ&#234;te. S'il y a moins de
    <code class="directive">MinSpareServers</code> processus inactifs, le
    processus parent va cr&#233;er de nouveaux enfants de la mani&#232;re suivante
    : il en cr&#233;e un, attend une seconde, il en cr&#233;e deux, attend une
    seconde, il en cr&#233;e quatre, puis continue ainsi exponentiellement
    jusu'&#224; ce que son taux de cr&#233;ation de processus enfants soit de 32
    par seconde. Il ne s'arr&#234;te que lorsque le nombre de processus
    enfants correspond &#224; la d&#233;finition de la directive
    <code class="directive">MinSpareServers</code>.</p>

    <p>La modification de ce param&#232;tre n'est n&#233;cessaire que
    dans le cas de sites tr&#232;s sollicit&#233;s. D&#233;finir ce param&#232;tre &#224; une
    valeur tr&#232;s grande est dans la plupart des cas une mauvaise
    id&#233;e.</p>

<h3>Voir aussi</h3>
<ul>
<li><code class="directive"><a href="#maxspareservers">MaxSpareServers</a></code></li>
<li><code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code></li>
<li><code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code></li>
</ul>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../de/mod/prefork.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="../en/mod/prefork.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/prefork.html" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/prefork.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../tr/mod/prefork.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</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>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/prefork.html';
(function(w, d) {
    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
        d.write('<div id="comments_thread"><\/div>');
        var s = d.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    }
    else {
        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    }
})(window, document);
//--><!]]></script></div><div id="footer">
<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>
<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[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>