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