Michael Südkamp wrote:
Hello,
From time to time we have customers experiencing Tomcat going to 100% CPU.
One customer sent us the output from the server status page from the Tomcat 6.0.32 Manager
web-app.
This page reports a lot of HTTP connector requests belonging to a certain client
can you explain "a certain client" ? is it a browser, or some other app ? is it one single
client ? from the point of view of that client, is the request finished, or is the client
still waiting for something ?
with stage value "S" and "time" values between 1000000 and 3000000 ms, i.e. almost one
hour.
We don't know what causes the requests to never finish.
The question is : is the request/response really finished ?
Believe me our web-app is not in a loop.
How do you know that ? We do not believe anything or anyone here without some
proof.
Maybe it's a problem with the database but we have already often spend a lot of time to
analyze
but couldn't find a problem on our side.
I believe that taking some thread dumps would tell you exactly what Tomcat is doing at
such times.
Anyway, isn't Tomcat somehow capable to detect such hanging requests (say
requests that take
longer than a minute) and kill them?
Well, if from the Tomcat point of view the request is not finished, it should not kill it,
should it ? some valid requests/responses may take a long time to finish. How is Tomcat
supposed to know ?
I studied the HTTP connector reference but haven't found a parameter related to
this.
A very long KeepAlive setting may explain connections lingering on. What is
your setting ?
The system runs on a Windows Server 2008 R2 and Java 5 (OK we could ask the customer to
upgrade Java).
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org