zoukankan      html  css  js  c++  java
  • JavaMelody 项目性能监控和调优工具

    转自

    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 中。

  • 相关阅读:
    python3 day02 大纲
    python3 练习题 day02
    python3 练习题(购物车)
    python3 练习题(多级菜单)
    python3 day01 大纲
    python3 练习题 day01
    vuex 的基本使用
    jquery中Ajax使用Promise指定成功回调函数
    使用Promise 解决回调地狱
    Promise 概念及操作
  • 原文地址:https://www.cnblogs.com/hark0623/p/7388941.html
Copyright © 2011-2022 走看看