cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - When posting, your subject should be specific and summarize your question. Here are some additional tips on asking a great question. X

Java monitoring impact on performance

JoePriest
8-Gravel

Java monitoring impact on performance

I'm trying to find some information on monitoring Java (eg. jconsole or Nagios) and the impact / cost it will have on performance. I'm curious about the polling interval used (eg. 1 sec, 30 sec, 1 min, etc.) and finding the balance of how often to poll and at what point the negativeimpact on performance outweighs the value of ~realtime monitoring. You could go the other way and say that monitoring Java processes at 5 minutes intervals doesn't really do you any good even though there would be much less negative impact on performance.

For example, we have 3 methodservers, 1 server manager and 1 tomcat instance on a given appserver where I would want to monitor each Java instance via JMX connections. We are trying to find the optimal polling interval to minimize impact on performance but also to give us maximum value for the data that's captured.

All comments are welcome. Thanks.

1 REPLY 1
jessh
5-Regular Member
(To:JoePriest)

Joe Priest wrote:
>
> I'm trying to find some information on monitoring Java (eg. jconsole
> or Nagios) and the impact / cost it will have on performance. I'm
> curious about the polling interval used (eg. 1 sec, 30 sec, 1 min,
> etc.) and finding the balance of how often to poll and at what point
> the negative impact on performance outweighs the value of ~realtime
> monitoring. You could go the other way and say that monitoring Java
> processes at 5 minutes intervals doesn't really do you any good even
> though there would be much less negative impact on performance.
>
> For example, we have 3 methodservers, 1 server manager and 1 tomcat
> instance on a given app server where I would want to monitor each Java
> instance via JMX connections. We are trying to find the optimal
> polling interval to minimize impact on performance but also to give us
> maximum value for the data that's captured.
>
> All comments are welcome. Thanks.
>
I'm not terribly clear on the exact level of overhead here, but I do
have a few comments:

* Part of the overhead will be dependent on the number of round-trip
queries in addition to the frequency of the queries.
o Certainly if you request more data each 'n' seconds you'll
have more overhead. Beyond this, however, if you take more
inter-process / TCP/IP calls to get the same data you'll
have more overhead. Similarly if each round-trip also
involves starting up a separate process (e.g. for an
external utility plug-in to something like Nagios, though I
can't recall if their plug-ins are in or out of process),
that will add more per-query overhead.
o Windchill provides MBean operations capable of collecting
data from multiple MBeans at once in order to reduce the
number of inter-process / TCP/IP round-trips. Of course,
the client needs to be capable of calling operations of this
complexity.
* Windchill provides built-in MBeans for self-monitoring of a
variety of health aspects.
o Where possible these avoid polling entirely and instead act
on an event.
o Even where polling is involved the overhead of inter-process
/ TCP/IP calls is avoided.
o These MBeans produce JMX notifications and Windchill
provides configurable "NotificationHandler" MBeans which can
log and/or e-mail administrators upon such notifications.
+ Though there are a good number of out-of-the-box
NotificationHandlers configured to e-mail
administrators, many customers are unaware of this
capability because they have not configured the
JMX-Administrators e-mail list.
+ NotificationHandler MBeans can also call custom Java
delegates.
o Windchill provides a rich set of supported APIs (plus sample
code) in the area of JMX MBeans, so one can extend the
integral monitoring as well.

--
Jess Holle

Announcements

Top Tags