You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by "Tran, John" <jt...@edmunds.com> on 2004/09/15 19:19:13 UTC

AJP13 Thread Pool?

>From doing research, Tomcat 4.x and on, which implement AJP13, no longer
has a connection thread pool for the AJP13 connector.  It apparently
does have one for the HTTP connector though.  The reason why we need a
thread pool, is because our main web servers can spawn anywhere up to
500 connections multiplied by 5 apache web servers, and they connect to
only two Tomcat servers.  From experience, and from research, I
understand that the correlation of threads from Apache to Tomcat is 1 to
1, which means approximately 2000 threads are attempted to be open on
the two Tomcat servers (1000 each), and so the Tomcat servers thread max
reaches and becomes unresponsive. 
 
I understand that I can raise my maxprocessor limitation on the AJP13
connector to 2000, however, I feel that is very bad resource management
because realistically I know that the particular applications that we've
ported to Tomcat only get a *maximum* of 5 concurrent connections (info
obtained from when running on Weblogic).  I'm assuming Weblogic's
connector is better able to handle it's thread resources, because it has
a thread pool implemented on its 'connector.
 
I found info that leads me to believe that Tomcat 3.x, using AJP12 had
some built in thread pool functions.  Here's a URL that explains:
 
http://www.hp.com/products1/unix/webservers/apache/techtips/tomcat.html
 
"
Using a thread pool in Tomcat is a simple move; all you need to do is to
use a PoolTcpConnector in your <Connector> configuration. For example
the following server.xml fragment defines ajpv12, pooled Connector: 
 
Pooled ajpv12 connector
 
<!-- A pooled AJPV12 Connector for out-of-process operation -->
<Connector className="org.apache.tomcat.service.PoolTcpConnector">
    <Parameter
        name="handler"
 
value="org.apache.tomcat.service.connector.Ajp12ConnectionHandler"/>
    <Parameter
        name="port"
        value="8007"/>
</Connector>
"
 
Is anyone aware if in some undocumented way that this function still
resides on AJP13?  I'm unable to locate any information relating to
such.  Otherwise, is anyone aware of a solution or workaround to my
problem?
 
TIA