📄 mod_proxy_balancer.html.en
字号:
<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>worker <var>b</var> will, on average, get 4 times the requests
that <var>a</var> and <var>c</var> will.</p>
<p>The following asymmetric configuration works as one would expect:</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"> </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>That is after 10 schedules, the schedule repeats and 7 <var>a</var>
are selected with 3 <var>b</var> interspersed.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="traffic" id="traffic">Weighted Traffic Counting Algorithm</a></h2>
<p>Enabled via <code>lbmethod=bytraffic</code>, the idea behind this
scheduler is very similar to the Request Counting method, with
the following changes:</p>
<p><dfn>lbfactor</dfn> is <em>how much traffic, in bytes, we want
this worker to handle</em>. This is also a normalized value
representing their "share" of the amount of work to be done,
but instead of simply counting the number of requests, we take
into account the amount of traffic this worker has seen.</p>
<p>If a balancer is configured as follows:</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">2</td>
<td class="data">1</td></tr>
</table>
<p>Then we mean that we want <var>b</var> to process twice the
amount of bytes than <var>a</var> or <var>c</var> should. It does
not necessarily mean that <var>b</var> would handle twice as
many requests, but it would process twice the I/O. Thus, the
size of the request and response are applied to the weighting
and selection algorithm.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="environment" id="environment">Exported Environment Variables</a></h2>
<p>At present there are 6 environment variables exported:</p>
<dl>
<dt><var><a name="balancer_session_sticky" id="balancer_session_sticky">BALANCER_SESSION_STICKY</a></var></dt>
<dd>
<p>This is assigned the <var>stickysession</var> value used in the current
request. It is the cookie or parameter name used for sticky sessions</p>
</dd>
<dt><var><a name="balancer_session_route" id="balancer_session_route">BALANCER_SESSION_ROUTE</a></var></dt>
<dd>
<p>This is assigned the <var>route</var> parsed from the current
request.</p>
</dd>
<dt><var><a name="balancer_name" id="balancer_name">BALANCER_NAME</a></var></dt>
<dd>
<p>This is assigned the name of the balancer used for the current
request. The value is something like <code>balancer://foo</code>.</p>
</dd>
<dt><var><a name="balancer_worker_name" id="balancer_worker_name">BALANCER_WORKER_NAME</a></var></dt>
<dd>
<p>This is assigned the name of the worker used for the current request.
The value is something like <code>http://hostA:1234</code>.</p>
</dd>
<dt><var><a name="balancer_worker_route" id="balancer_worker_route">BALANCER_WORKER_ROUTE</a></var></dt>
<dd>
<p>This is assigned the <var>route</var> of the worker that will be
used for the current request.</p>
</dd>
<dt><var><a name="balancer_route_changed" id="balancer_route_changed">BALANCER_ROUTE_CHANGED</a></var></dt>
<dd>
<p>This is set to 1 if the session route does not match the
worker route (BALANCER_SESSION_ROUTE != BALANCER_WORKER_ROUTE) or the
session does not yet have an established route. This can be used to
determine when/if the client needs to be sent an updated route
when sticky sessions are used.</p>
</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="enable" id="enable">Enabling Balancer Manager Support</a></h2>
<p>This module <em>requires</em> the service of
<code class="module"><a href="../mod/mod_status.html">mod_status</a></code>.
Balancer manager enables dynamic update of balancer
members. You can use balancer manager to change the balance
factor or a particular member, or put it in the off line
mode.
</p>
<p>Thus, in order to get the ability of load balancer management,
<code class="module"><a href="../mod/mod_status.html">mod_status</a></code> and <code class="module"><a href="../mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code>
have to be present in the server.</p>
<p>To enable load balancer management for browsers from the foo.com
domain add this code to your <code>httpd.conf</code>
configuration file</p>
<div class="example"><p><code>
<Location /balancer-manager><br />
SetHandler balancer-manager<br />
<br />
Order Deny,Allow<br />
Deny from all<br />
Allow from .foo.com<br />
</Location>
</code></p></div>
<p>You can now access load balancer manager by using a Web browser
to access the page
<code>http://your.server.name/balancer-manager</code></p>
</div>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_proxy_balancer.html" title="English"> en </a> |
<a href="../ja/mod/mod_proxy_balancer.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p>
</div><div id="footer">
<p class="apache">Copyright 2006 The Apache Software Foundation.<br />Licensed under the <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/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -