Java业务监控中间件_不得不知道的25个中间件监控指标

本文介绍了Java业务监控中间件的25个关键指标,包括JVM监控、线程池监控、数据库连接监控、交易监控、JMS监控和应用程序监控等。重点关注JVM的堆使用、垃圾收集、死锁线程和内存泄露,线程池的使用和超时线程,数据库连接的泄露和预编译语句缓存命中率,以及交易的JTA状态和回滚情况。通过对这些指标的监控,有助于提升Java应用的性能和稳定性。
摘要由CSDN通过智能技术生成

一般Java中间件监控技术分为2种:JMX与ByteCode,在HP的方案中,SiteScope完全基于JMX技术,通过对MBean状态的获取来了解J2EE容器内部性能指标(Counter),可以方便整合JNDIJDBC JTS及其它技术,特别是能够使用JNDI的查询发现机制以及协议,JNDI本身提供了一种服务的查询和发现机制,并且所有的这些Services都可以通过JMX 来实现管理(在SiteScope中主要以Counter来提供)。

而HP Diagnostics,综合了JVMTI和bytecode技术,在JVM运行期间把相关的bytecode精确的注入到当前JVM所载入class字节合适的地方,不修改原class文件,从而达到监控JVM的目的。通过预配置jar文件,在被监控Class被JVM执行之前,通过JVMTI来拦截被载入的Class,分析其bytecode指令,对符合的bytecode指令附件,插入收集bytecode指令,计算时间戳并通过一些基于标签的统计,报告给DiagnosticsServer,从而诊断各种类型的性能问题,包括服务缓慢、具体方法、SQL、内存以外的错误、线程问题等等。

2者最大的差别在于是否需要做嵌入式部署,是否需要适用于诊断场景,是否要做细颗粒的采集,是否关联运算等;

但无论如何,在何种情形下,针对不同的Java容器(如Tomcat\JBoss\WebLogic\WAS等),影响其性能及可用性的因素到底有哪些?有哪些指标需要得到重点的照顾?

本文主要从以上角度列举最重要的7大类25个指标,旨在综合不同的监控方法,来实现最佳的中间件管理实践。

1.1JVM监控

在应用程序的运行期间,可在JVM 堆的内存中分配对象并在对象空闲时进行垃圾收集。如果对象繁忙,其将在内存中徘徊且占用可重复使用的空间。由于堆中充满游离对象,因此没有足够的空间执行新的分配,这将导致更频繁的垃圾收集频率。从而导致应用程序性能下降,在极端的情况下,游离对象(Unpinned)可引起内存溢出。

1.1.1堆使用

堆的使用率,需要区分堆增长为突然增长还是缓慢增长,是否出现锯齿形回收,

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值