<divclass="outofdate">Cette traduction peut tre prime. Vrifiez la version
anglaise pour les changements rcents.</div>
<tableclass="module"><tr><th><ahref="module-dict.html#Description">Description:</a></th><td>Une variante du MPM <codeclass="module"><ahref="../mod/worker.html">worker</a></code> conue pour ne
mobiliser des threads que pour les connexions en cours de traitement</td></tr>
@@ -182,6 +180,81 @@ propose le MPM <code class="module"><a href="../mod/worker.html">worker</a></cod
<h3><aname="graceful-close"id="graceful-close">Arrt de processus en douceur et
utilisation du scoreboard</a></h3>
<p>Ce MPM prsentait dans le pass des limitations de monte en
puissance qui
provoquaient l'erreur suivante : "<strong>scoreboard is full, not at
MaxRequestWorkers</strong>". La directive <codeclass="directive"><ahref="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> permet de limiter le
nombre de requtes pouvant tre servies simultanment un moment donn
ainsi que le nombre de processus autoriss (<codeclass="directive"><ahref="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> / <codeclass="directive"><ahref="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>), alors que le
scoreboard reprsente l'ensemble des processus en cours d'excution et
l'tat de leurs threads de travail. Si le scoreboard est plein
(autrement dit si aucun des threads n'est dans un tat inactif) et si le
nombre de requtes actives servies est infrieur <codeclass="directive"><ahref="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>, cela signifie que
certains d'entre eux bloquent les nouvelles requtes qui pourraient tre
servies et sont en l'occurrence mises en attente (dans la limite de la
valeur impose par la directive <codeclass="directive"><ahref="../mod/mpm_common.html#listenbacklog">ListenBacklog</a></code>). La plupart du temps, ces
threads sont bloqus dans un tat d'arrt en douceur car ils attendent
de terminer leur travail sur une connexion TCP pour s'arrter et ainsi librer
une entre dans le scoreboard (par exemple dans le cas du traitement des
requtes de longue dure, des clients lents ou des connexions en
keep-alive). Voici deux scnarios courants :</p>
<ul>
<li>Pendant un <ahref="../stopping.html#graceful">graceful
restart</a>. Le processus parent demande tous ses processus
enfants de terminer leur travail et de s'arrter pendant qu'il
recharge la configuration et lance de nouveaux processus. Si les
processus existants continuent de s'excuter pendant un certain
temps avant de s'arrter, le scoreboard sera partiellement occup
jusqu' ce que les entres correspondantes soient libres.
</li>
<li>Lorsque la charge du serveur diminue suffisamment pour que httpd
commence stopper certains processus (par exemple pour respecter la
valeur de la directive <codeclass="directive"><ahref="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code>). Cette situation
est problmatique car lorsque la charge augmente nouveau, httpd va
essayer de lancer de nouveaux processus. Si cette situation se
rpte, le nombre de processus peut augmenter sensiblement,
aboutissant un mlange d'anciens processus tentant de s'arrter et
de nouveaux processus tentant d'effectuer un travail quelconque.
</li>
</ul>
<p>A partir de la version 2.4.24, mpm-event est plus intelligent et peut
traiter les arrts graceful de manire plus efficace. Voici certaines de
ces amliorations :</p>
<ul>
<li>Utilisation de toutes les entres du scoreboard dans la limite
de la valeur dfinie par <codeclass="directive"><ahref="../mod/mpm_common.html#serverlimit">ServerLimit</a></code>. Les directives
<codeclass="directive"><ahref="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> et