You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by tr...@apache.org on 2010/04/15 18:38:33 UTC
svn commit: r934479 - /httpd/httpd/trunk/docs/manual/mod/mod_proxy_fcgi.xml
Author: trawick
Date: Thu Apr 15 16:38:33 2010
New Revision: 934479
URL: http://svn.apache.org/viewvc?rev=934479&view=rev
Log:
describe the connection reuse issue, which can break the simplest
FastCGI applications
Modified:
httpd/httpd/trunk/docs/manual/mod/mod_proxy_fcgi.xml
Modified: httpd/httpd/trunk/docs/manual/mod/mod_proxy_fcgi.xml
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/mod/mod_proxy_fcgi.xml?rev=934479&r1=934478&r2=934479&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/mod/mod_proxy_fcgi.xml (original)
+++ httpd/httpd/trunk/docs/manual/mod/mod_proxy_fcgi.xml Thu Apr 15 16:38:33 2010
@@ -40,7 +40,7 @@
<module>mod_proxy_fcgi</module> have to be present in the server.</p>
<p>Unlike <a href="http://httpd.apache.org/mod_fcgid/">mod_fcgid</a>
- or <a href="http://www.fastcgi.com/">mod_fastcgi</a>,
+ and <a href="http://www.fastcgi.com/">mod_fastcgi</a>,
<module>mod_proxy_fcgi</module> has no provision for starting the
application process; <program>fcgistarter</program> is provided for
that purpose.</p>
@@ -60,17 +60,32 @@
<p>Remember, in order to make the following examples work, you have to
enable <module>mod_proxy</module> and <module>mod_proxy_fcgi</module>.</p>
- <example><title>Simple script</title>
+ <example><title>Single application instance</title>
ProxyPass /myapp/ fcgi://localhost:4000/
</example>
+ <p>This application should be able to handle multiple concurrent
+ connections. <module>mod_proxy</module> enables connection reuse by
+ default, so after a request has been completed the connection will be
+ held open by that httpd child process and won't be reused until that
+ httpd process routes another request to the application. If the
+ FastCGI application is unable to handle enough concurrent connections
+ from httpd, requests can block waiting for the application to close
+ an existing connection. One way to resolve this is to disable connection
+ reuse on the <directive>ProxyPass</directive> directive, as shown in
+ the following example:</p>
+
+ <example><title>Single application instance, no connection reuse</title>
+ ProxyPass /myapp/ fcgi://localhost:4000/ disablereuse=on
+ </example>
+
<p>The balanced gateway needs <module>mod_proxy_balancer</module> and
at least one load balancer algorithm module, such as
<module>mod_lbmethod_byrequests</module>, in addition to the proxy
modules listed above. <module>mod_lbmethod_byrequests</module> is the
- default.</p>
+ default, and will be used for this example configuration.</p>
- <example><title>Balanced gateway</title>
+ <example><title>Balanced gateway to multiple application instances</title>
ProxyPass /myapp/ balancer://myappcluster/<br />
<Proxy balancer://myappcluster/><br />
<indent>