1、问题背景
为了提升应用的性能我们可能需要做很多分析和优化。但具体从哪里优化,优化的效果是多少就难以判定了。
javamelody用嵌入式的监控方式,实时监控性能指标。如:页面相应时间,spring bean方法调用时间,sql语句执行时间等很多指标。我在这就不一一列举了。
我感觉比较好的两特点是:
会自动按命中次数与相应时间结合排序,这就可以知道优化哪个页面,bean方法,sql最有效果
页面,bean,sql自动关联,可钻取,点页面可以看页面中调用bean方法的情况,点bean方法可以看sql情况
2、配置步骤
a、引入依赖包
下载javamelody的jar文件,官方站点
https://code.google.com/p/javamelody/
中找到javamelody-1.40.0.jar下载下来
手动配置时还需要JRobin这个依赖,在
http://www.jrobin.org上下载
把这两这jar文件copy到你的lib中
如果采用maven配置
只需要在pom文件中加入
<dependency>
<groupId>net.bull.javamelody</groupId>
<artifactId>javamelody-core</artifactId>
<version>1.40.0</version>
</dependency>
同样的效果
b、修改web.xml文件
加入以下代码
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:org/noahx/test/application-context.xml
[color=red]classpath:net/bull/javamelody/monitoring-spring.xml[/color]
</param-value>
</context-param>
<filter>
<filter-name>monitoring</filter-name>
<filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>monitoring</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>net.bull.javamelody.SessionListener</listener-class>
</listener>
spring采用org.springframework.web.context.ContextLoaderListener启动
注意filter-mapping的位置尽可能靠前,因为它来测相关请求时间
在你的spring配置文件位置中再加入classpath:net/bull/javamelody/monitoring-spring.xml这个配置
c、在spring配置的xml中加入Advisor
这样就可以监控spring bean的性能
<bean id="facadeMonitoringAdvisor" class="net.bull.javamelody.MonitoringSpringAdvisor">
<property name="pointcut">
<bean class="org.springframework.aop.support.JdkRegexpMethodPointcut">
<property name="patterns">
<array>
<value>org\.noahx\.test\..*</value>
</array>
</property>
</bean>
</property>
</bean>
org\.noahx\.test\..*为正则表达式,javamelody会自动匹配bean中的类名,来决定都监控哪些bean的哪些方法
我是监控了org.noahx.test下所有定义的spring bean的所有方法
d、sql与数据源监控
如果你的dateSource定义在spring中,javamelody会自动发现不需要额外配置。
e、运行测试
程序运行起来和原来并没有变化,还是和原来一样,可以多点一点你的页面。因为javamelody需要采集访问时的性能数据。然后你可以通过javamelody的url来查看你应用的性能指标。
http://host:port/你应用的上下文/monitoring。上下文后加monitoring这种格式就可以进入主面板查看结果。
------------------------------------------- 分割线 以下 是本人遇到错误,望哪位大侠伸出援助之手帮小弟解决------------------------------------------
PS:本人测试web.xml中配置
classpath:net/bull/javamelody/monitoring-spring.xml查看数据库JDBC和sql监控信息是总是提示失败。不配置不出错一切运行正常。
环境:
OS:windows XP
JAVA:JDK1.6.0.22
框架:Struts2+Spring2.5.6+Hibernate3.3
错误描述:
应用启动是报错误;
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dicCommonAction' defined in class path resource [actionContext.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'dicAreaService' of bean class [com.utils.action.DicCommonAction]: Bean property 'dicAreaService' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
相关配置文件:
web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:net/bull/javamelody/monitoring-spring.xml,
classpath:applicationContext.xml,
classpath:serviceContext.xml,
classpath:actionContext.xml
</param-value>
</context-param>
serviceContext.xml和actionContext.xml合并显示
<bean id="dicAreaService" class="com.utils.service.DicCommonService" parent="baseService"/>
<!-- 下面是在actionContext.xml的配置 -->
<bean id="dicCommonAction" class="com.utils.action.DicCommonAction">
<property name="dicAreaService">
<ref bean="dicAreaService"/>
</property>
</bean>
原文地址:
http://my.oschina.net/noahxiao/blog/75463
分享到:
相关推荐
NULL 博文链接:https://xjg396.iteye.com/blog/1559978
javamelody.jar和jrobin-1.5.9.1.jar 博文链接:https://navylee.iteye.com/blog/746914
JavaMelody开源系统性能监控,JavaMelody开源系统性能监控!
Javamelody监控
文档对性能监控工具javamelody进行了介绍,同时介绍了安装、配置、使用步骤
JavaMelody应用监控使用指南
包含javamelody.jar、jrobin-1.5.9.1.jar和javamelody.war文件,测试可用
资源属于工具类,主要是用于web站点的监控,排查问题。
JavaMelody:JavaEE应用性能监测和分析工具
最近研究了一下系统监控...JavaMelody:是一款能够监测Java或Java EE应用程序的服务器,确实,JavaMelody能够很好的反应我们系统的各种性能指标,并提供很好的图形界面。图表可以按天,周,月,年或自定义时间段查看。
JavaMelody 能够监测Java或Java EE应用程序服务器,并以图表的方式显示:Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、 Guice)的执行...
系统监控工具 JavaMelody ,JavaMelody 能够监测Java或Java EE应用程序服务器,并以图表的方式显示:Java内...
搭建java项目监控所需要工具jar包集合,包括搭建步骤都在里面有写。也可去我的博客中查看搭建步骤《javamelody监控java项目示例》
监控器需要的jar,需在web.xml中配置 <filter-name>monitoring <filter-class>net.bull.javamelody.MonitoringFilter</filter-class> <filter-name>monitoring <url-pattern>/* <listener-class>...
赠送jar包:javamelody-core-1.72.0.jar; 赠送原API文档:javamelody-core-1.72.0-javadoc.jar; 赠送源代码:javamelody-core-1.72.0-sources.jar; 赠送Maven依赖信息文件:javamelody-core-1.72.0.pom; 包含...
javamelody含源码及编译出的bin文件 2014/03/07 14:19 593 .checkstyle 2014/03/07 14:19 6,706 .checkstyle.xml 2014/06/26 19:20 1,473 .classpath 2014/03/07 14:19 9,496 .fbprefs 2014/03/07 14:17 1,811 ....
主要介绍了基于javamelody监控springboot项目过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
JavaMelody 能够监测Java或Java EE应用程序服务器,并以图表的方式显示:Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、 Guice)的执行...
JavaMelody javamelody-core-1.52.0.jar jrobin-1.5.9.jar 集成所需的jar包