JavaMelody 项目性能监控和调优工具

本文详细介绍如何使用JavaMelody监控应用的性能指标,包括内存、CPU、线程等,并提供配置步骤,如添加依赖、配置过滤器及整合Spring、Struts等框架。

转自

 

JavaMelody 可以实现对内存、CPU、线程、JDBC 连接数、HTTP 请求执行时间、SQL 执行时间(分析 Top SQL)、方法执行时间(分析系统方法性能瓶颈)等等的监控。

配置方式

1. pom.xml(加入依赖包)

1
2
3
4
5
< dependency >
     < groupId >net.bull.javamelody</ groupId >
     < artifactId >javamelody-core</ artifactId >
     < version >1.53.0</ version >
</ dependency >

2. web.xml

2.1. 配置过滤器,也可以配置不需要监控的 HTTP 请求。

注意:一定要放在所有过滤器的最上面,不然会被 action 拦截。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
< filter >
     < filter-name >monitoring</ filter-name >
     < filter-class >net.bull.javamelody.MonitoringFilter</ filter-class >
     < init-param >
         <!-- 配置不需要拦截的路径
             <param-name>url-exclude-pattern</param-name>
             <param-value>/static/.*</param-value>
         -->
         <!-- 配置登录用户名密码。shop端配置,man端不需要 -->
         < param-name >authorized-users</ param-name >
         < param-value >用户名:密码</ param-value >
     </ init-param >
</ filter >
< filter-mapping >
     < filter-name >monitoring</ filter-name >
     < url-pattern >/*</ url-pattern >
</ filter-mapping >

2.2 配置 JDBC 监控统计(必须作为第一个配置文件)

1
2
3
4
5
6
7
< context-param >
     < param-name >contextConfigLocation</ param-name >
     < param-value >
         classpath:net/bull/javamelody/monitoring-spring.xml;  <!-- 和 Spring 集成时添加 -->
         classpath:spring-config.xml;classpath:spring-config-struts.xml
     </ param-value >
</ context-param >

3 struts.xml 配置 Struts 监控(将 'monitoring' interceptor 配置到被继承的 package 下)

1
2
3
4
5
6
7
8
9
10
11
12
< package  name = "default"  extends = "struts-default" >
     < interceptors >
         <!-- javamelody -->  
         < interceptor  name = "monitoring"  class = "net.bull.javamelody.StrutsInterceptor" />
         < interceptor-stack  name = "myStack" >
             < interceptor-ref  name = "monitoring" />
             <!-- struts 默认的拦截器 -->
             < interceptor-ref  name = "defaultStack" />
         </ interceptor-stack >
     </ interceptors >
     < default-interceptor-ref  name = "myStack" />
</ package >

4. 配置 Quartz 监控

全文搜索 org.springframework.scheduling.quartz.SchedulerFactoryBean,在 xml 的每个 bean 中加入 propetry。

1
2
3
< bean  id = "quartzScheduler"  class = "org.springframework.scheduling.quartz.SchedulerFactoryBean" >
     < property  name = "exposeSchedulerInRepository"  value = "true" />
</ bean >

访问链接:域名/monitoring,如:http://localhost/monitoring

JavaMelody 缓存文件的清除:默认路径一般在 tomcat_home/temp/javamelody 中。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值