Chris;

> Just curious: why do you have maxKeepAliveRequests=1? That's... not
> terribly efficient.

That’s a good question and perhaps we should revisit it.
I’m a little fuzzy on the reasoning (it was a while ago that we did this),
but I believe it was so that we would have a more even distribution to our back
ends.  The requests often take a bit of time to complete (10’s of seconds) and 
are large.
So it’s not like a web page where there’s 50 2k gif files to download or that
sort of thing. It’s one big blob of data at a time. REST services basically.

> Are you using the native/APR connector or the Java blocking-I/O (BIO)
> connector? You can tell from the startup messages or if you do a
> thread dump, the names of the threads will tell you apr versus bio.
> 

BIO

> Hmm... Tomcat used to complain when you hit maxConnections. Perhaps
> that it gone, or perhaps it only was for certain connectors, or maybe
> without using an executor (and an executor is always used since Tomcat
> 7... maybe Tomcat 6).

I would think so. Perhaps I’m missing anything obvious. Anyway, I really doubt
I’m running out of threads. Between the threads and the queue, I should be
able to do 300 connections. 

I guess I should have started out with this: it’s tomcat 7 fairly recent builds 
(< yr old).
I should go through the source and see if I can spot that.

> 
> You might want to set up something like Nagios to watch all the time.
> You can set alarms for high-usage of the connection pool.

Not a bad idea. 

> I was wondering if you could connect through the lb to a specific
> backend server, because it's possible that the lb is the one refusing
> the connections for some reason and not Tomcat itself.

Yup, and in the end this is probably the case.  Thanks for the help.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to