From: Jeff Trawick Date: Sun, 19 Dec 2010 22:46:23 +0000 (+0000) Subject: merge r956059, 1000130, and 1000474 from trunk: X-Git-Tag: 2.2.18~232 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3923e0e2c63b55771d1f8a95f07ae73d621ab9b1;p=thirdparty%2Fapache%2Fhttpd.git merge r956059, 1000130, and 1000474 from trunk: improve connection pooling overview and descriptions of min, max, smax, and ttl parameters git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@1050958 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/mod/mod_proxy.xml b/docs/manual/mod/mod_proxy.xml index 249631a5fbe..b55b7b121b9 100644 --- a/docs/manual/mod/mod_proxy.xml +++ b/docs/manual/mod/mod_proxy.xml @@ -764,23 +764,30 @@ expressions -

As of Apache 2.1, the ability to use pooled connections to a backend - server is available. Using the key=value parameters it is - possible to tune this connection pooling. The default for a Hard - Maximum 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 - ThreadsPerChild.

- -

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

+

In Apache HTTP Server 2.1 and later, mod_proxy supports pooled + connections to a backend server. Connections created on demand + can be retained in a pool for future use. Limits on the pool size + and other settings can be coded on + the ProxyPass directive + using key=value parameters, described in the table + below.

+ +

By default, mod_proxy will allow and retain the maximum number of + connections that could be used simultaneously by that web server child + process. Use the max parameter to reduce the number from + the default. Use the ttl parameter to set an optional + time to live; connections which have been unused for at least + ttl seconds will be closed. ttl can be used + to avoid using a connection which is subject to closing because of the + backend server's keep-alive timeout.

+ +

The pool of connections is maintained per web server child + process, and max and other settings are not coordinated + among all child processes, except when only one child process is allowed + by configuration or MPM design.

- - ProxyPass /example http://backend.example.com smax=5 max=20 ttl=120 retry=300 + Example + ProxyPass /example http://backend.example.com max=20 ttl=120 retry=300 @@ -789,23 +796,27 @@ expressions - + - + - + -
Description
min 0Minimum number of connections that will always - be open to the backend server.
Minimum number of connection pool entries, unrelated to the + actual number of connections. This only needs to be modified from the + default for special circumstances where heap memory associated with the + backend connections should be preallocated or retained.
max 1...nHard Maximum number of connections that will be - allowed to the backend server. The default for a Hard Maximum - 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 ThreadsPerChild. - Apache will never create more than the Hard Maximum connections - to the backend server.
Maximum number of connections that will be allowed to the + backend server. The default for this limit is the number of threads + per process in the active MPM. In the Prefork MPM, this is always 1, + while with other MPMs it is controlled by the + ThreadsPerChild directive.
smax maxUpto the Soft Maximum - number of connections will be created on demand. Any connections above - smax are subject to a time to live or ttl. -
Retained connection pool entries above this limit are freed + during certain operations if they have been unused for longer than + the time to live, controlled by the ttl parameter. If + the connection pool entry has an associated connection, it will be + closed. This only needs to be modified from the default for special + circumstances where connection pool entries and any associated + connections which have exceeded the time to live need to be freed or + closed more aggressively.
acquire - If set this will be the maximum time to wait for a free @@ -924,9 +935,9 @@ expressions
ttl -Time To Live for the inactive connections above the - smax connections in seconds. Apache will close all - connections that has not been used inside that time period. + Time to live for inactive connections and associated connection + pool entries, in seconds. Those which are unused for at least + ttl seconds will be destroyed.