Commit deefb879 authored by Paul Querna's avatar Paul Querna
Browse files

* mod/mod_proxy.xml: First Draft trying to explain how to tune pooled connections.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@111587 13f79535-47bb-0310-9956-ffa450edef68
parent 00d7fea2
Loading
Loading
Loading
Loading
+21 −1
Original line number Diff line number Diff line
@@ -718,7 +718,7 @@ through</td></tr>
<div class="directive-section"><h2><a name="ProxyPass" id="ProxyPass">ProxyPass</a> <a name="proxypass" id="proxypass">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Maps remote servers into the local server URL-space</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyPass [<var>path</var>] !|<var>url</var></code></td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var> <var>key=value</var> ...]]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_proxy</td></tr>
@@ -758,6 +758,26 @@ through</td></tr>
      general <code class="directive">ProxyPass</code> directive.</p>
    </div>

    <p>New in Apache 2.1, is the ability to use pooled connections to a 
    backend server. Using the <code>key=value</code> parameters it is possible
    to tune this connection pooling. The default for a <code>Hard Maximum</code>
    for the number of connections is the number of threads per process in the 
    active MPM. In the Prefork MPM, this is always 1, while with the Worker MPM
    it is controlled by the <code class="directive">ThreadsPerChild</code>.</p>

    <p>Setting <code>min</code> will determine how many connections will always 
    be open to the backend server. Upto the Soft Maximum or <code>smax</code> 
    number of connections will be created on demand. Any connections above 
    <code>smax</code> are subject to a time to live or <code>ttl</code>.  Apache
    will never create more than the Hard Maximum or <code>hmax</code> connections
    to the backend server.</p>

    <div class="example"><p><code>
        ProxyPass /example http://backend.example.com min=0 smax=5 hmax=20 ttl=60
    </code></p></div>

    

    <p>When used inside a <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> section, the first argument is omitted and the local
    directory is obtained from the <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>.</p>

+25 −1
Original line number Diff line number Diff line
@@ -532,7 +532,7 @@ expressions</description>
<directivesynopsis>
<name>ProxyPass</name>
<description>Maps remote servers into the local server URL-space</description>
<syntax>ProxyPass [<var>path</var>] !|<var>url</var></syntax>
<syntax>ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var> <var>key=value</var> ...]]</syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context>
</contextlist>
@@ -573,6 +573,30 @@ expressions</description>
      general <directive>ProxyPass</directive> directive.</p>
    </note>

    <p>New in Apache 2.1, is the ability to use pooled connections to a 
    backend server. Using the <code>key=value</code> parameters it is possible
    to tune this connection pooling. The default for a <code>Hard Maximum</code>
    for the number of connections is the number of threads per process in the 
    active MPM. In the Prefork MPM, this is always 1, while with the Worker MPM
    it is controlled by the <directive>ThreadsPerChild</directive>.</p>

    <p>Setting <code>min</code> will determine how many connections will always 
    be open to the backend server. Upto the Soft Maximum or <code>smax</code> 
    number of connections will be created on demand. Any connections above 
    <code>smax</code> are subject to a time to live or <code>ttl</code>.  Apache
    will never create more than the Hard Maximum or <code>hmax</code> connections
    to the backend server.</p>

    <example>
        ProxyPass /example http://backend.example.com min=0 smax=5 hmax=20 ttl=60
    </example>

    <!-- Still to be documented:
             retry acquire timeout 
             iobuffersize receivebuffersize 
             keepalive route redirect 
         See modules/proxy/mod_proxy.c set_worker_param() for details.  -->

    <p>When used inside a <directive type="section" module="core"
    >Location</directive> section, the first argument is omitted and the local
    directory is obtained from the <directive type="section" module="core"