`
lvhjean
  • 浏览: 32385 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

通过javamelody监控web应用的性能指标

    博客分类:
  • Java
阅读更多
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
分享到:
评论
2 楼 violetluna 2016-06-21  
你如果用spring可以在spring中import这个xml即可
1 楼 wonderlq 2015-08-29  
你的问题应该是 classpath:net/bull/javamelody/monitoring-spring.xml,  这里,改成monitoring-spring-datasource.xml这个文件试试

相关推荐

    JavaMelody JAVA Web项目服务器性能监控工具

    通过在Java Web应用中简单集成,JavaMelody就能提供包括请求处理时间、SQL查询、内存使用、线程信息、异常跟踪等多种关键性能指标的可视化报告。 首先,JavaMelody的核心功能在于其丰富的监控指标。它能够监控HTTP...

    JavaMelody应用监控使用指南

    JavaMelody是一款强大的Java应用程序和应用服务器监控工具,它提供了实时的数据分析,帮助开发者和运维人员了解系统的健康状况和性能指标。通过图表形式展示内存使用、垃圾回收、Session管理、JDBC连接、SQL查询、...

    javamelody监控

    - 然后,在web.xml中配置监听器和过滤器,启动JavaMelody监控。 - 配置完成后,只需访问特定URL(通常是/monitoring),即可访问监控界面。 3. **主要功能模块** - **性能监控**:展示HTTP请求的响应时间,分析...

    javamelody性能监控jar和war

    总的来说,JavaMelody是一个强大且易于使用的Java Web应用性能监控工具,能够为开发者和运维团队提供宝贵的洞察力,确保应用的稳定性和高效运行。通过深入理解和有效利用JavaMelody,我们可以及时发现和解决潜在的...

    Javamelody监控

    JavaMelody是一款强大的Java应用程序性能监控工具,专为开发者和运维人员设计,用于实时监控Web应用的性能和健康状况。它能够集成到Spring、Struts、JSF等主流的Java Web框架中,提供包括请求时间、内存使用、数据库...

    JavaMelody开源系统性能监控

    总的来说,JavaMelody是一款免费且功能齐全的Java应用性能监控解决方案,能够帮助开发者和运维团队提高故障排查效率,优化系统性能,是Java开发过程中不可或缺的辅助工具。通过持续监控和分析,可以及时发现并解决...

    javamelody-javamelody-core-1.67.0.zip

    这个版本1.67.0包含了JavaMelody监控系统的最新特性和改进。 JavaMelody的主要功能在于提供实时的、详细的性能监控,它可以帮助开发者和运维人员了解应用的运行状态,及时发现并解决性能瓶颈。以下是一些关键知识点...

    JavaMelody 监测java或javaEE应用服务器

    2. 配置`web.xml`,在你的Web应用上下文中注册JavaMelody的监听器和过滤器,以便拦截请求并收集监控数据。 3. 启动Tomcat服务器,然后在你的应用URL后面添加`/monitoring`路径,例如`http://yourapp.com/monitoring`...

    javamelody程序运行监控报表

    JavaMelody是一款优秀的开源工具,主要用于监控Java Web应用的性能指标。它能够直观地展示应用程序的CPU使用率、内存消耗、请求处理数量等关键数据,并且支持对数据库访问(如JDBC调用)以及页面渲染时间进行跟踪...

    JavaMelodyJavaEE应用性能监测和分析工具

    JavaMelody通过收集和展示一系列关键指标,如请求处理时间、内存使用、数据库查询效率等,帮助优化应用性能并及时发现潜在的问题。 JavaMelody的核心功能包括: 1. **请求跟踪**:记录每个HTTP请求的处理时间和...

    javamelody资料包

    本资料包包含了搭建JavaMelody监控所需的全部组件和详细步骤,旨在为Java项目提供全面的健康检查。 首先,"javamelody所需资料包"中可能包含以下核心文件: 1. **javamelody-core**: 这是JavaMelody的核心库,提供...

    JavaMelody javamelody-core-1.52.0.jar jrobin-1.5.9.jar

    总之,`javamelody-core-1.52.0.jar`和`jrobin-1.5.9.jar`是JavaMelody监控解决方案的重要组成部分,它们共同为Java Web应用提供了详尽的性能监控和数据分析能力。通过集成这两个JAR,开发者可以轻松地对应用进行...

    javamelody 1.69.0

    `javamelody-collector-server-1.69.0.war` 是JavaMelody的收集器服务器,这是一个独立的Web应用程序,它可以部署在单独的服务器上,用于集中收集和展示多个JavaMelody监控实例的数据。通过这个服务,你可以监控分布...

    JavaMelody系统监控工具 v1.9.8.zip

    1. **性能监控**:JavaMelody可以实时监控应用程序的请求处理时间、数据库查询性能、内存使用、线程状态等关键性能指标,帮助开发者快速定位性能瓶颈。 2. **错误和异常统计**:记录并展示应用程序中出现的错误和...

    javamelody与spring集成测试入门例子

    这将开启JavaMelody监控,并设置监控页面的访问路径为`/monitoring`,应用名为“我的应用名”。 在Spring Boot应用中,JavaMelody通常会自动配置,无需额外的编码工作。但在某些情况下,可能需要自定义配置,例如...

    jave melody监控工具简介

    - 将`javamelody.jar`和`jrobin-x.jar`两个文件从提供的`javamelody.zip`压缩包根目录下复制到待监控Web应用的`WEB-INF/lib`目录中。 - 如果使用Maven构建工具,可以通过添加`javamelody-core`依赖项简化安装流程...

    JavaMelody

    JavaMelody是一款强大的监控工具,专门用于监测Java Web应用程序的性能和使用情况。它通过简单的配置,可以在不显著影响应用性能的前提下,收集并展示一系列关键指标,帮助开发者和运维人员实时了解系统的运行状态。...

    javamelody-1.43.0

    JavaMelody是一个开源的性能监控工具,主要用于监测Java Web应用程序的运行情况。版本1.43.0是这个工具的一个特定发行版,包含了对系统性能和应用健康状况的全面跟踪功能。下面将详细介绍JavaMelody及其1.43.0版本中...

    javamelody-javamelody-core-src-1.68.1.zip

    JavaMelody是一款开源的Java应用性能监控工具,它允许开发者轻松地在Web应用程序中集成监控功能,无需修改代码。从标题“javamelody-javamelody-core-src-1.68.1.zip”可以看出,这包含的是JavaMelody核心组件1.68.1...

    javamelody学习示例及jar.rar

    - **示例代码**:可能包含一些已经集成JavaMelody的示例项目,通过这些项目,你可以学习如何在自己的应用中添加JavaMelody监控。 - **jar文件**:这是JavaMelody的核心库,可能包含了不同版本的JavaMelody JAR,供...

Global site tag (gtag.js) - Google Analytics