First, thank you all for the responses.  They are all good.

Rainer, I'm actually doing something similar to what you suggested.  I wrote
a script that queries the server using JMX proxy for the metrics I want.  I
do this every second.  My concern is that it is too intrusive since i'm
doing it every second and doing it remotely.  So, I read about Valve and I
don't know much about it still.  From what I read, it sounds like less
intrusive than using jmxproxy?

Sorry for the confusion of 500 concurrent users and 1 second response time. 
I was just giving an example.  But, for our goals, 25 millisecond is our max
allowed response time.  We are trying to find how many hits/sec we can get
while meeting SLA of 25 milliseconds and how many max concurrent users are
active on the system when those numbers are met.

For those who are curious of what app. this is, it's an ad server engine. 
Since we cannot control anything that happens after a request leaves the
server, we want every request to be processed within 25 millisecods.  The
order of execution is very simple:

1. Client send ad request with some parameters, hits a servlet.
2. Ad server process the request which include app. code and talking to DB
3. Ad server send response to client.  the size of the response is roughly 2
KB.







Rainer Jung-3 wrote:
> 
> wicket0123 schrieb:
>> I want to check tomcat response time for requests when I run, say 500
>> concurrent users, on the server.  I use the default setttings for tomcat
>> which means my maxThreads = 40.
>> 
>> I have read from some articles suggesting to use JMX Console to monitor
>> tomcat.  But, then i read from other articles that JMX adds overhead to
>> the
>> server.  Basically, I am looking for a way to monitor tomcat performance
>> under load w/o affecting server performance by running the tools.
>> 
>> Now, i read from an article to use Valves to log the metrics into a log
>> file
>> and process that later.  My question is: is that the best way to go w/o
>> purchasing any commercial software?
> 
> Builtin possibilities (not exactly what you want, but a starting point, 
> especially if your observed values in JMeter are far away from your
> target):
> 
> - Add %D to the pattern in the access log valve (%D=millisecond response 
> time)
> - Look at the MBeans. Overhead for monitoring purposes is not a problem, 
> as long as you don't try to get all MBeans like once a second or more 
> often. Overhead relative to CPU needed for processing will be low 
> especialy compared to doing stress tests with 100 or more requests per 
> second.
> 
> Examples for MBeans:
> 
> - each Servlet has one, showing accumulated number of calls to the 
> servlet, accumulated processing time, as well as min and max
> - each ThreadPool has one, showing number of threads and busy threads
> 
> Get yourself a complete list, e.g. via
> 
> http://myserver/manager/jmxproxy?qry=*:*
> 
> and take an hour or two to go through them.
> 
> JConsole looks nicer to simply view values, but if you want to keep the 
> results, parse the results etc. jmxproxy is a better start.
> 
> Regards,
> 
> Rainer
> 
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Checking-tomcat-metrics-in-a-non-intrusive-way-tp16319903p16362271.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
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