Commit 28e89bd0 authored by lgentis's avatar lgentis
Browse files

Rebuild.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1774894 13f79535-47bb-0310-9956-ffa450edef68
parent ff3f74cf
Loading
Loading
Loading
Loading
+75 −2
Original line number Diff line number Diff line
@@ -29,8 +29,6 @@
<p><span>Langues Disponibles: </span><a href="../en/mod/event.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/event.html" title="Franais">&nbsp;fr&nbsp;</a></p>
</div>
<div class="outofdate">Cette traduction peut tre prime. Vrifiez la version
            anglaise pour les changements rcents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Une variante du MPM <code class="module"><a href="../mod/worker.html">worker</a></code> conue pour ne
mobiliser des threads que pour les connexions en cours de traitement</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>MPM</td></tr>
@@ -182,6 +180,81 @@ propose le MPM <code class="module"><a href="../mod/worker.html">worker</a></cod

    

    <h3><a name="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 <code class="directive"><a href="../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 (<code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> / <code class="directive"><a href="../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  <code class="directive"><a href="../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 <code class="directive"><a href="../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 <a href="../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 <code class="directive"><a href="../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 <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code>. Les directives
	    <code class="directive"><a href="../mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code> et
	    <code class="directive"><a href="../mod/mpm_common.html#threadsperchild">ThreadsPerChild</a></code>
	    permettent de limiter le nombre de processus actifs, alors que la
	    directive <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code>
	    prend aussi en compte les proccessus en arrt graceful pour
	    permettre l'utilisation d'entres supplmentaires du scoreboard en
	    cas de besoin. L'ide consiste  utiliser <code class="directive"><a href="../mod/mpm_common.html#serverlimit">ServerLimit</a></code> pour indiquer  httpd
	    conbien de processus supplmentaires seront tolrs avant
	    d'atteindre les limites imposes par les ressources du systme.
            </li>
            <li>Les processus en arrt graceful doivent fermer leurs connexions
	    en keep-alive.</li>
            <li>Lors d'un arrt graceful, s'il y a plus de threads de travail en
	    cours d'excution que de connexions ouvertes pour un processus
	    donn, ces threads sont arrts afin de librer les ressources plus
	    vite (ce qui peut s'avrer ncessaire pour lancer de nouveaux
	    processus).</li>
            <li>Si le scoreboard est plein, empche d'arrter d'autres processus
	    en mode graceful afin de rduire la charge jusqu' ce que tous les
	    anciens processus soient arrts (sinon la situation empirerait lors
	    d'une remonte en charge).</li>
        </ul>
        <p>Le comportement dcrit dans le dernier point est bien visible via
	<code class="module"><a href="../mod/mod_status.html">mod_status</a></code> dans la table des connexions avec les deux
	nouvelles colonnes "Slot" et "Stopping". La premire indique le PID et
	la seconde si le processus est en cours d'arrt ou non ; l'tat
	supplmentaire "Yes (old gen)" indique un processus encore en excution
	aprs un redmarrage graceful.</p>
    

    <h3><a name="limitations" id="limitations">Limitations</a></h3>
        <p>La gestion amliore des connexions peut ne pas fonctionner pour
	certains filtres de connexion qui se sont dclars eux-mmes
+1 −1
Original line number Diff line number Diff line
@@ -8,6 +8,6 @@

  <variants>
    <variant>en</variant>
    <variant outdated="yes">fr</variant>
    <variant>fr</variant>
  </variants>
</metafile>