SriSri schrieb:
Well I am trying to post this message from Nabble and its not getting posted
per their site message, I been trying to resend the message since 2 hours. I
know the pain of spam and I dont intend to spam, was trying to post a
genuine query. Thats all.

Thanks for your help

OK. At the moment Nabble seems to be quite behind. Marc seems to be up-to-date:

http://marc.info/?l=tomcat-user&r=1&b=200803&w=2

Answer to your question: see below.

Sri

On Thu, Mar 27, 2008 at 3:54 PM, Rainer Jung <[EMAIL PROTECTED]>
wrote:

Please stop spaming the list. Sending the same question five times in 90
minutes will most likely annoy everyone and reduce the chance to get an
answer to an absolute minimum.

Rainer

SriSri schrieb:
 Hi,

   I am trying to find a way to access AJP Queue through JMX. If it is
possible with JMX or any other way let me know. I am using Tomcat 5.5.20and
I have clusters configured. I want to know whether the AJP Queue is full
or
not. Appreciate if anyone has any idea how to go about.

Concerning your question: Tomcat doesn't have a request queue. It uses two design elements:

- a thread pool
- the usual connection backlog of the operating system

The thread pool gets configured in the Connector element (server.xml). It has an initial size, a maximum size and further parameters to define growing and shrinking w.r.t varying load.

The TCP connection backlog is operating systen specific and Tomcat only configures its maximal length. Apart from that Tomcat is agnostic of the backlog.

Caution: I'm talking about the default connector. Other connectors (tcnative also known as APR, or the NIO connector in TC 6) have a different design.

I guess what you want to know is, if your Tomcat is able to cope with the load. If not, you will very quickly see the thread pool increasing the number of threads until it reaches the configured maximum. So having a look at the thread pool size is a good indicator. Each pool has an MBean in JMX with name ThreadPool. There you can see the currentThreadCount and the currentThreadsBusy.

But: Ajp uses persistent connections. So an established connection can be busy even if the thread handling it doesn't have to work on a request and is simply waiting (possibly for a long time) for the next request. From the point of view of the MBean, it will then be busy. From the point of view of request load, it is idle :(

To increase the precision of the observation, you can use the connectionTimeout on the Connector, to allow Tomcat to close AJP connections, that didn't send a new request for some time. Don't go to extremes, because those will hurt performance. To check how far away from thread pool exhaustion you are, it's not necessary to configure extremely short connectionTimeouts. a Timeout between one and then minutes is fine in most cases.

The ultimate answer to "how many requests are we processing now" is looking at a thread dump (kill -QUIT, goes to catalina.out). Unfortunately you shouldn't really do that in monitoring.

HTH

Rainer

Thanks
Sri

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to