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