`

监控和剖析数据库操作 -- P6Spy、SQL Profiler、IronTrack SQL 应用实践要点记录

    博客分类:
  • DB
阅读更多

参考:

监控和剖析数据库操作 -- P6Spy、SQL Profiler、IronTrack SQL 使用简介

p6spy介绍

Spring使用p6spy监控sql

jboss下p6spy+IronTrackSql监视连接池的配置方法(备忘)

P6Spy & Irontrack SQL 简单使用

SSH中集成P6SPY,irontrack sql,sqlprofiler

 

应用实践step 1: 使用P6Spy输出SQL log

1. 获取jar包和配置文件:

1) P6Spy jar包(by maven):

 

<dependency>
	<groupId>p6spy</groupId>
	<artifactId>p6spy</artifactId>
	<version>1.3</version>
</dependency>

或 by: http://sourceforge.net/projects/p6spy/

 

2) spy.properties 可从 P6Spy 的源码包中获得。

 

2. 调整 spy.properties 中的配置:

1) 设置 dateformat=yyyy-MM-dd HH:mm:ss

设置下时间格式,提高时间戳的可读性。

 

注:与Spring集成的话不需要修改realdriver

 

3. 调整Spring 配置文件中的数据源配置:

原配置:

 

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">      
	<property name="driverClassName" value="oracle.jdbc.OracleDriver" />      
	<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" />      
	<property name="username" value="test" />      
	<property name="password" value="test" />      
</bean>

 调整为:

 

<bean id="dataSourceRaw" class="org.springframework.jdbc.datasource.DriverManagerDataSource">      
	<property name="driverClassName" value="oracle.jdbc.OracleDriver" />      
	<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" />      
	<property name="username" value="test" />      
	<property name="password" value="test" />      
</bean>      
<bean id="dataSource" class="com.p6spy.engine.spy.P6DataSource">
	<constructor-arg ref="dataSourceRaw" />
</bean>

 

至此OK,spy.log 中顺利看到SQL log.

 

P6Spy 基本上是通过代理的方式,在原来的commit、rollback、execute等等方法前后增加了计时、日志输出等,并尽可能做到应用简便、耦合性低,它的设计思想非常值得学习和实践。

 

应用实践step 2: 使用P6Spy+SQL Profiler分析SQL

1. 获取jar包和配置文件:http://sourceforge.net/projects/sqlprofiler/

下载下来的 sqlprofiler-0.3-bin.zip 中包含了 sqlprofiler.jar spy.properties

 

2. 调整 spy.properties 中的配置:

1) dateformat=

注意:日期格式不能配置,sqlprofiler 中会对日期进行格式化,若这里设置了格式则sqlprofiler中会出现异常。

2) 注释掉 appender=com.p6spy.engine.logging.appender.FileLogger

去掉 # appender=com.p6spy.engine.logging.appender.Log4jLogger 注释符号

去掉 # log4j.appender.CHAINSAW_CLIENT 开头的4个配置项的注释符号

 

3) log4j.logger.p6spy=INFO,STDOUT 改为 log4j.logger.p6spy=INFO,CHAINSAW_CLIENT

 

注:如果用的是sqlprofiler-0.3-bin.zip 中的 spy.properties ,则以上就不需要调整了(因为已经调整好了)。

 

3. 调整Spring 配置文件中的数据源配置:同 step1中的3

 

4. 先运行 java -jar sqlprofiler.jar 启动sqlprofiler的控制台,然后运行应用程序。

 

至此OK,sqlprofiler的控制台中顺利看到SQL信息。

 

应用实践step 3: 使用P6Spy+IronTrack SQL分析SQL

1. 获取jar包和配置文件:目前 IronTrack 项目似乎已经不再继续,jar包等只能从 ibm 那篇文章中提供的地址得到。

 

2. 调整 spy.properties 中的配置:

在 step1 的配置文件的基础上,增加以下配置:

module.ibeam=com.irongrid.ibeam.server.IBeamFactory
monitorport=2000

 

3. 调整Spring 配置文件中的数据源配置:同 step1中的3

 

4. 先运行 java -classpath lib/ -jar irontracksql.jar 启动IronTrack  SQL的控制台,然后运行应用程序。

注:

1) 下载下来的 IronTrackSQL.zip 中lib下的jar包都是要用到的,log4j-1.2.8.jar 可以移动到 lib 目录下或者和 irontracksql.jar 放在同个目录下。

2) p6spy.jar 和 irontracksql.jar 如果不在同个目录下(比如 p6spy.jar 是通过maven依赖方式引入的),运行应用程序时把 irontracksql.jar 加入classpath 即可,否则会报异常。

 

至此OK,IronTrack  SQL的控制台中顺利看到SQL信息。

 

分享到:
评论

相关推荐

    监控和剖析数据库 P6Spy、SQL Profiler、IronTrack SQL

    本文将详细介绍P6Spy、SQL Profiler和IronTrack SQL这三个工具,帮助你理解和掌握数据库监控与性能分析的方法。 首先,P6Spy是一个开源的Java库,它允许开发者在不修改应用程序代码的情况下,对数据库访问进行透明...

    p6spy_sqlprofiler-0.3-bin.zip

    总结来说,P6Spy和SQLProfiler是数据库管理员和开发者的有力工具,它们可以帮助我们无侵入地监控SQL行为,找出性能瓶颈,从而提升系统整体效率。通过深入理解和正确使用这两个工具,我们可以更好地优化数据库,提高...

    Tomcat6.x + P6spy + SqlProfiler集成

    P6spy是一个开源的数据库监控工具,它能够拦截并记录应用程序与数据库之间的SQL交互。通过在数据库连接字符串中插入P6spy驱动,它可以在不修改代码的情况下透明地监控数据库活动。P6spy提供了一个名为`spy....

    P6spy 和 SqlProfiler 打印JDBC真实SQL

    总结来说,P6Spy和SqlProfiler是Java开发中不可或缺的数据库监控工具。它们能够帮助我们深入了解应用程序与数据库的交互,从而进行有效的性能优化和问题定位。在日常开发和维护过程中,正确使用这两个工具可以显著...

    p6spy 在weblogic中的配置 以及使用sqlprofiler监控

    P6Spy是一款开源的数据库监控工具,主要用于记录和分析应用程序对数据库的所有SQL操作。在Java应用环境中,如WebLogic服务器上,P6Spy可以帮助开发者和DBA监控SQL性能,找出可能存在的瓶颈。本文将详细介绍如何在...

    sqlprofiler+p6spy+配制

    在Java应用中,P6Spy可以捕获和记录所有的SQL请求,而SQL Profiler则可以在服务器端提供更详细的事件追踪。这种组合可以提供从客户端到服务器端的完整查询生命周期的视图,对于诊断复杂的性能问题特别有用。 总的来...

    weblogic server 11g +p6spy +sql profiler 配置

    P6Spy则是一个开源的数据库监控工具,它能够帮助开发者和管理员追踪和分析SQL执行情况,提高数据库性能。SQL Profiler是P6Spy的一个组件,用于对数据库操作进行详细分析,找出潜在的性能瓶颈。 配置WebLogic Server...

    sqlprofiler.jar

    2、把p6spy.jar及sqlprofiler.jar放到WEB-INF/lib目录下,将SQL Profiler自带的spy.properties覆盖原来的classes目录下文件 3、修改 原有 JDBC Driver为:com.p6spy.engine.spy.P6SpyDriver其它的都不用更改。 4、...

    使用P6spy打印ibatis执行的SQL语句

    在IT行业中,数据库操作是应用程序的核心部分,而监控和优化SQL语句的执行效率是数据库管理的...在实际工作中,结合其他数据库监控工具(如MySQL的`EXPLAIN`命令、SQLProfiler等),能更全面地提升数据库的运行效率。

    Mysql课件教程 辅助日志分析工具SQLProfiler DBMonster的安装和配置 DBMonster命令示例-压数据

    **JDBC SQL日志记录** 是数据库测试中不可或缺的一环,通过P6Spy和SQLProfiler,我们可以收集SQL执行日志,分析执行效率,优化SQL语句,进而提升整体系统的性能。这对于监控数据库健康状况,预防潜在问题,以及在...

    企业项目二次开发——JDBC SQL Profiler应用.pdf

    综上所述,JDBC SQL Profiler在项目二次开发中的应用,不仅能够帮助开发者有效地监控和分析遗留系统的数据库操作,而且在缺乏文档支持的复杂环境下,仍然能够快速掌握系统的数据库设计和业务流程,从而提高二次开发...

    用p6spy来观察Java程序中执行的所有SQL语句[整理].pdf

    p6spy是一个强大的工具,对于理解和优化Java应用程序中的数据库操作非常有帮助。通过简单配置,它可以提供详细的SQL执行信息,辅助开发人员定位性能瓶颈,提高系统的整体效率。特别是在复杂的ORM框架和多数据库环境...

    开发高效率的J2EE企业应用.ppt

    同时,使用特定数据库监控工具,如P6SPY和SQL Profiler,可以深入分析SQL执行情况,找出性能瓶颈。 在提到的Hibernate3缺点中,一级缓存的强引用问题可能导致内存占用过多。为了解决这个问题,开发者可以适时调用`...

    j2ee性能调优之最小化资源压力测试法则

    3. **工具选择灵活**:可以选择最熟悉的JVM监控、数据库监控、应用服务器监控和SQL执行监控工具,简化问题追踪。 4. **提升经验**:开发人员通过这种方式,可以更好地理解和处理性能问题,为正式生产环境的调优做好...

    Oracle资料集锦_珍藏

    而"Oracle分析函数使用总结.txt"和"SQL Profiler + P6Spy 完全配置手册.txt"则分别涵盖了Oracle的分析函数使用经验及性能监控工具的配置和使用。 总的来说,这个资料集锦为Oracle的学习者提供了一套全面的参考材料...

Global site tag (gtag.js) - Google Analytics