You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by mw...@iu.edu on 2024/07/30 14:33:33 UTC

Which is better: many concurrent requests or a deep backlog?

For various reasons I have Tomcat behind Apache HTTPD via
mod_proxy_ajp, and I'm looking for good ways to think about the proxy
connection pool.  I'm wondering if I should let HTTPD make as many
connections as it wants, or set a maximum pool size and let requests
wait in the proxy.  This is probably a complex issue and I want to be
sure I'm considering the right aspects.

I think I do want persistent proxy connections.  This seems to work
well and it saves setup/teardown work.  So I have
"ProxyPass...enablereuse=on" (which I think is default, but I hate
relying on defaults for things I care about).

Tomcat v9.0.90, HTTPD 2.4.62.  There are no obvious problems at the
moment.  I just want to be sure I'm doing all I can to keep this
back-end service from ever being a bottleneck for a rather heavy
Angular Universal front-end that has throughput issues of its own,
while I (and many others) ponder how to fix *those* issues.

-- 
Mark H. Wood
Lead Technology Analyst

University Library
Indiana University Indianapolis
755 W. Michigan Street
Indianapolis, IN 46202
317-274-0749
library.indianapolis.iu.edu

Re: Which is better: many concurrent requests or a deep backlog?

Posted by Christopher Schultz <ch...@christopherschultz.net>.
To whom it may concern,

On 7/30/24 10:33, mwood@iu.edu wrote:
> For various reasons I have Tomcat behind Apache HTTPD via
> mod_proxy_ajp, and I'm looking for good ways to think about the proxy
> connection pool.  I'm wondering if I should let HTTPD make as many
> connections as it wants, or set a maximum pool size and let requests
> wait in the proxy.  This is probably a complex issue and I want to be
> sure I'm considering the right aspects.

 From the user's perspective, I think it doesn't matter which choice you 
make.

> I think I do want persistent proxy connections.

AJP expects to use persistent connections.

> This seems to work well and it saves setup/teardown work.  So I have 
> "ProxyPass...enablereuse=on" (which I think is default, but I hate 
> relying on defaults for things I care about).
> 
> Tomcat v9.0.90, HTTPD 2.4.62.  There are no obvious problems at the
> moment.  I just want to be sure I'm doing all I can to keep this
> back-end service from ever being a bottleneck for a rather heavy
> Angular Universal front-end that has throughput issues of its own,
> while I (and many others) ponder how to fix *those* issues.

No matter which strategy you choose, I suspect the bottleneck will 
always be the same thing: your application (or some proxy thereof, such 
as a database, back-end API, etc.).

Do you really care if connections are queuing-up in httpd versus Tomcat? 
One could argue that it's slightly less wasteful to have them queue-up 
on the httpd side but not really in terms of actual resource usage.

-chris

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org