<?xml version="1.0" encoding="UTF-8"?>
<!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=UTF-8" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_lbmethod_byrequests - 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>Module Apache mod_lbmethod_byrequests</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_byrequests.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_lbmethod_byrequests.html" title="Français">&nbsp;fr&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Algorithme de planification avec répartition de charge du
traitement des requêtes pour le module
<code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>lbmethod_byrequests_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_lbmethod_byrequests.c</td></tr>
<tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Dissocié de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> dans la
version 2.3</td></tr></table>
<h3>Sommaire</h3>

<p>Ce module ne fournit pas lui-même de directive de configuration. Il
nécessite les services de <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>, et
fournit la méthode de répartition de charge <code>byrequests</code>.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#requests">Algorithme d'attribution des requêtes</a></li>
</ul><h3 class="directives">Directives</h3>
<p>Ce module ne fournit aucune directive.</p>
<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=mod_lbmethod_byrequests">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_lbmethod_byrequests">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li>
<li><code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></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="requests" id="requests">Algorithme d'attribution des requêtes</a> <a title="Lien permanent" href="#requests" class="permalink">&para;</a></h2>
    
    <p>Activé via <code>lbmethod=byrequests</code>, ce planificateur a
    été conçu dans le but de distribuer les requêtes à tous les
    processus worker afin qu'ils traitent tous le nombre de requêtes
    pour lequel ils ont été configurés. Il fonctionne de la manière
    suivante : </p>

    <p><dfn>lbfactor</dfn> correspond à la <em>quantité de travail que
    nous attendons de ce processus worker</em>, ou en d'autres termes
    son <em>quota de travail</em>. C'est une valeur normalisée
    représentant leur part du travail à accomplir.</p>

    <p><dfn>lbstatus</dfn> représente <em>combien il est urgent que
    ce processus worker travaille pour remplir son quota de
    travail</em>.</p>

    <p>Le <dfn>worker</dfn> est un membre du dispositif de répartition
    de charge, en général un serveur distant traitant un des protocoles
    supportés.</p>

    <p>On distribue à chaque processus worker son quota de travail, puis
    on regarde celui qui a le plus besoin de travailler
    (le plus grand lbstatus). Ce processus est alors sélectionné pour
    travailler, et son lbstatus diminué de l'ensemble des quotas de
    travail que nous avons distribués à tous les processus. La somme de
    tous les lbstatus n'est ainsi pas modifiée, et nous pouvons
    distribuer les requêtes selon nos souhaits.</p>

    <p>Si certains processus workers sont désactivés, les autres feront
    l'objet d'une planification normale.</p>

    <div class="example"><pre><code>for each worker in workers
    worker lbstatus += worker lbfactor
    total factor    += worker lbfactor
    if worker lbstatus &gt; candidate lbstatus
        candidate = worker

candidate lbstatus -= total factor</code></pre></div>

    <p>Si un répartiteur de charge est configuré comme suit :</p>

    <table><tr><th>worker</th>
        <th class="data">a</th>
        <th class="data">b</th>
        <th class="data">c</th>
        <th class="data">d</th></tr>
<tr><th>lbfactor</th>
        <td class="data">25</td>
        <td class="data">25</td>
        <td class="data">25</td>
        <td class="data">25</td></tr>
<tr><th>lbstatus</th>
        <td class="data">0</td>
        <td class="data">0</td>
        <td class="data">0</td>
        <td class="data">0</td></tr>
</table>

    <p>Et si <var>b</var> est désactivé, la planification suivante est
    mise en oeuvre :</p>

    <table><tr><th>worker</th>
        <th class="data">a</th>
        <th class="data">b</th>
        <th class="data">c</th>
        <th class="data">d</th></tr>
<tr><th>lbstatus</th>
        <td class="data"><em>-50</em></td>
        <td class="data">0</td>
        <td class="data">25</td>
        <td class="data">25</td></tr>
<tr><th>lbstatus</th>
        <td class="data">-25</td>
        <td class="data">0</td>
        <td class="data"><em>-25</em></td>
        <td class="data">50</td></tr>
<tr><th>lbstatus</th>
        <td class="data">0</td>
        <td class="data">0</td>
        <td class="data">0</td>
        <td class="data"><em>0</em></td></tr>
<tr><td class="data" colspan="5">(repeat)</td></tr>
</table>

    <p>C'est à dire la chronologie suivante : <var>a</var> <var>c</var>
    <var>d</var>
    <var>a</var> <var>c</var> <var>d</var> <var>a</var> <var>c</var>
    <var>d</var> ... Veuillez noter que :</p>

    <table><tr><th>worker</th>
        <th class="data">a</th>
        <th class="data">b</th>
        <th class="data">c</th>
        <th class="data">d</th></tr>
<tr><th>lbfactor</th>
        <td class="data">25</td>
        <td class="data">25</td>
        <td class="data">25</td>
        <td class="data">25</td></tr>
</table>

    <p>A le même effet que :</p>

    <table><tr><th>worker</th>
        <th class="data">a</th>
        <th class="data">b</th>
        <th class="data">c</th>
        <th class="data">d</th></tr>
<tr><th>lbfactor</th>
        <td class="data">1</td>
        <td class="data">1</td>
        <td class="data">1</td>
        <td class="data">1</td></tr>
</table>

    <p>Ceci est dû au fait que toutes les valeurs de <dfn>lbfactor</dfn>
    sont normalisées et évaluées en fonction des autres. Avec :</p>

    <table><tr><th>worker</th>
        <th class="data">a</th>
        <th class="data">b</th>
        <th class="data">c</th></tr>
<tr><th>lbfactor</th>
        <td class="data">1</td>
        <td class="data">4</td>
        <td class="data">1</td></tr>
</table>

    <p>le processus <var>b</var> va, en moyenne, se voir assigner 4 fois
    plus de requêtes que <var>a</var> et <var>c</var>.</p>

    <p>La configuration suivante, asymétrique, fonctionne comme on peut
    s'y attendre :</p>

    <table><tr><th>worker</th>
        <th class="data">a</th>
        <th class="data">b</th></tr>
<tr><th>lbfactor</th>
        <td class="data">70</td>
        <td class="data">30</td></tr>
<tr><td class="data" colspan="2">&nbsp;</td></tr>
<tr><th>lbstatus</th>
        <td class="data"><em>-30</em></td>
        <td class="data">30</td></tr>
<tr><th>lbstatus</th>
        <td class="data">40</td>
        <td class="data"><em>-40</em></td></tr>
<tr><th>lbstatus</th>
        <td class="data"><em>10</em></td>
        <td class="data">-10</td></tr>
<tr><th>lbstatus</th>
        <td class="data"><em>-20</em></td>
        <td class="data">20</td></tr>
<tr><th>lbstatus</th>
        <td class="data"><em>-50</em></td>
        <td class="data">50</td></tr>
<tr><th>lbstatus</th>
        <td class="data">20</td>
        <td class="data"><em>-20</em></td></tr>
<tr><th>lbstatus</th>
        <td class="data"><em>-10</em></td>
        <td class="data">10</td></tr>
<tr><th>lbstatus</th>
        <td class="data"><em>-40</em></td>
        <td class="data">40</td></tr>
<tr><th>lbstatus</th>
        <td class="data">30</td>
        <td class="data"><em>-30</em></td></tr>
<tr><th>lbstatus</th>
        <td class="data"><em>0</em></td>
        <td class="data">0</td></tr>
<tr><td class="data" colspan="3">(repeat)</td></tr>
</table>

    <p>Après 10 distributions, la planification se répète et 7
    <var>a</var> sont sélectionnés avec 3 <var>b</var> intercalés.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_lbmethod_byrequests.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_lbmethod_byrequests.html" title="Français">&nbsp;fr&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 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 Libera.chat, or sent to our <a href="https://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/mod_lbmethod_byrequests.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 2025 The Apache Software Foundation.<br />Autorisé 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>