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

P6Spy + SQL Profiler + IronTrackSQL【修改】

阅读更多

P6Spy 是一个可以用来在应用程序中拦截和修改数据操作语句的开源框架.

通过P6Spy 我们可以对SQL语句进行拦截,相当于一个SQL语句的记录器,这样我们可以用它来作相关的分析,比如性能分析。

弄hibernate时,想显示sql语句,可以设置show_sql为true来达到这个目的,但是参数值全PreparedStatement一样,用?来代替的。
用p6spy可以达到显示的那些参数原值的目的,但可读性差。可以利用SQL Profiler来处理这个事情。
p6spy: http://www.p6spy.com/

一、P6Spy 的安装与使用
1、下载P6Spy 的文件包,也可以下载它的源文件包来研究。
2、将p6spy.jar放到WEB-INF/lib目录下,将spy.properties放到WEB-INF/classes目录下。
3、修改 原有 JDBC Driver为:com.p6spy.engine.spy.P6SpyDriver其它的都不用更改。
4、修改 spy.properties 中的 realdriver 值为 原有 的JDBC Driver,比如我的是:com.mysql.jdbc.Driver
5、运行你的应用程序或Web应用程序,可以在spy.log里看到监测到的sql详细记录信息了。
6、驱动程序加载先后的问题解决
  如果spy.log里出现
  你的程序的数据库驱动名称 is a real driver in spy.properties, but it has been loaded before p6spy . p6spy will not wrap these connections. Either prevent the driver from loading, or try setting 'deregisterdrivers' to true in spy.properties
  请把spy.properties文件里的deregisterdrivers=false改为deregisterdrivers=true,重新运行即可。

我的日志记录产生在 %TOMCAT_HOME%\bin下,此log位置可以能过修改 logfile  = x:\x_dir\spy.log 来控制


打开看看,看里面的日志是不是看起来比较不爽?下面我们安装SQL Profiler来让自已的视线爽一点。
SQL Profile: http://www.jahia.net/jahia/page597.html

二、结合SQL Profiler进行图形化监控与使用
1、下载SQL Profiler的文件包进行安装。
2、把p6spy .jar及sqlprofiler.jar放到WEB-INF/lib目录下,将SQL Profiler自带的spy.properties覆盖原来的classes目录下文件
3、修改 原有 JDBC Driver为:com.p6spy.engine.spy.P6SpyDriver其它的都不用更改。
4、修改 spy.properties 中的 realdriver 值为 原有 的JDBC Driver,比如我的是:com.mysql.jdbc.Driver
5、注意要先运行 java -jar sqlprofiler.jar 来启动SQL Profiler,并成功看到启动后界面;
6、然后再启动你的应用程序或服务器,并开始进行正常的系统请求处理操作;
7、这样可以在SQL Profiler图形化的界面上看到结果并进行分析了。
并且可以通过保存按钮导出数据库优化建议的索引脚本。

IronTrack SQL: http://www.irongrid.com/ironeyesql

三、结合IronTrack SQL进行图形化监控与使用
1、下载IronTrack SQL的文件包进行安装.
2、把irontracksql.jar、p6spy .jar、log4j-1.2.8.jar放到classpath中,如果是Web应用程序则放在YourWebApp/WEB-INF/lib/目录下.
3、把spy.properties放到classes目录下,如果是webapp就放在YourWebApp/WEB-INF/classess/目录下,记得不是lib/目录.
4、修改你程序的数据库驱动名称为P6Spy 的驱动程序名称com.p6spy .engine.spy.P6Spy Driver其它的都不用更改.
5、打开spy.properties文件,把realdriver的值改为你的程序的数据库驱动名称.
6、设置监听端口号monitorport=2000
6、先运行 java -jar irontracksql.jar 来启动IronTrack SQL.
7、再启动你的应用程序或服务器;
8、可以在 IronTrack SQL 图形化的界面上看到结果并进行分析了。

网上好多帖子都是说,修改原有 JDBC Driver为:com.p6spy .engine.spy.P6Spy Driver
然后修改spy.properties 中的 realdriver值为原有的JDBC Driver
如果在spring开发环境中使用org.springframework.jdbc.datasource.DriverManagerDataSource来模拟dataSource是不会生效的,

代码

<script>render_code();</script>

 

Code
<!----> 1 < bean  id ="dataSource"  class ="org.springframework.jdbc.datasource.DriverManagerDataSource" >
 2 < property  name ="driverClassName" >    
 3 < value > com.sybase.jdbc2.jdbc.SybDriver </ value >    
 4 </ property >    
 5 < property  name ="url" >    
 6 < value > jdbc:sybase:Tds:192.168.0.2:6100/db </ value >    
 7 </ property >    
 8 < property  name ="username" >    
 9 < value > usr </ value >    
10 </ property >
11 < property  name ="password" >    
12 < value > pwd </ value >
13 </ property >
14 </ bean >    
15
16


因为在spring加载时我们无法控制先加载哪个,spring会报错不能使用com.p6spy .engine.spy.P6Spy Driver连接到数据库,
其实p6spy 只是想做jdbc的代理,而不是真正想连数据库,而spring却不知道这些,所以应该采用另外一种方式来集成p6spy

代码

<!----> 1 < bean  id ="dataSourceTarget"  class ="org.springframework.jdbc.datasource.DriverManagerDataSource" >    
 2      < property  name ="driverClassName" >    
 3      < value > com.sybase.jdbc2.jdbc.SybDriver </ value >    
 4      </ property >   
 5      < property  name ="url" >    
 6      < value > jdbc:sybase:Tds:192.168.0.2:6100/db </ value >    
 7      </ property >    
 8      < property  name ="username" >    
 9      < value > usr </ value >    
10      </ property >    
11      < property  name ="password" >    
12      < value > pwd </ value >    
13      </ property >    
14 </ bean >    
15 < bean  id ="dataSource"  class ="com.p6spy.engine.spy.P6DataSource"  destroy-method ="close" >    
16      < constructor-arg >    
17         < ref  local ="dataSourceTarget" />    
18      </ constructor-arg >    
19 </ bean >    

<script>render_code();</script>
这样就可以把p6spy 集成到spring中去了。
令:网上好多文章都介绍使用sqlprofiler和p6spy 配合,但是IronTrackSQL感觉更好一些!
关于如何使用sqlprofiler,IronTrackSQL,配置很简单
对于sqlprofiler只要把sqlprofiler自带的spy.properties放到classpath下就可以了,然后java -jar sqlprofiler.jar
对于IronTrackSQL,还要把irontracksql.jar也放到classpath下,然后java -jar irontracksql.jar

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    利用P6SPY +SQL Profiler调试、记录、统计web app对数据库的操作

    利用P6SPY +SQL Profiler调试、记录、统计web app对数据库的操作, 可以查看到PreparedStatment的执行最终的SQL语句。 有详细的操作说明 下面的这个是集成的完整版。。太大了就不上传了。自己下吧 jahia_v6_...

    Tomcat6.x + P6spy + SqlProfiler集成

    【标题】:“Tomcat6.x + P6spy + SqlProfiler集成” 在Java Web开发中,Tomcat是一款广泛应用的开源Web服务器和应用服务器,主要用于运行Servlet和JSP应用。P6spy和SqlProfiler则是两个用于数据库性能监控和分析的...

    weblogic server 11g +p6spy +sql profiler 配置

    在提供的文件列表中,`sqlprofiler.jar`是P6Spy的核心库,包含实现监控功能的类和方法。`spy.properties`是P6Spy的配置文件,用于设置各种监控参数。 2. **配置spy.properties**:打开`spy.properties`文件,你需要...

    p6spy_sqlprofiler-0.3-bin.zip

    《P6Spy与SQLProfiler:全面监控SQL性能的利器》 在数据库管理中,了解SQL语句的执行情况是至关重要的。为了优化数据库性能,我们需要深入理解SQL查询的行为,包括执行时间、资源消耗等。这正是P6Spy和SQLProfiler...

    P6spy 和 SqlProfiler 打印JDBC真实SQL

    然后,根据文档配置相应的环境,如修改数据库连接URL以启用P6Spy的代理驱动,设置SqlProfiler的监控参数。对于P6Spy,我们可以在spys.properties中调整日志级别和输出格式,以满足不同需求。对于SqlProfiler,我们...

    sqlprofiler+p6spy+配制

    `SQL Profiler`和`P6Spy`就是两个用于此目的的工具。它们可以帮助开发者识别性能瓶颈,理解数据库操作的效率,并进行必要的优化。现在我们来详细探讨这两个工具的配置及其相关知识。 首先,`SQL Profiler`是微软SQL...

    p6spy和sqlProfiler的配合使用让你的hibernate的show_sql更好用

    p6spy和sqlProfiler的配合使用让你的hibernate的show_sql更好用 p6spy和sqlProfiler的配合使用让你的hibernate的show_sql更好用 p6spy和sqlProfiler的配合使用让你的hibernate的show_sql更好用

    p6spy_sqlprofiler

    专门用来监控hibernate的sql输出,进行调试应用程序的工具,找了好久才找到,里面有个配置文件,记住realdriver是你的驱动,而在hibernate设置的驱动是这个驱动代理,p6spy的驱动,相当于在hibernate和数据库之间放...

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

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

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

    **P6Spy与WebLogic配置及SQLProfiler监控详解** P6Spy是一款开源的数据库监控工具,主要用于记录和分析应用程序对数据库的所有SQL操作。在Java应用环境中,如WebLogic服务器上,P6Spy可以帮助开发者和DBA监控SQL...

    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等),能更全面地提升数据库的运行效率。

    用 p6spy 来观察 Java 程序中执行的所有 SQL 语句.docx

    【p6spy 简介】 p6spy 是一个开源的 Java 框架,它的主要...在后续的篇幅中,可能会详细介绍如何定制 p6spy 以满足特定的日志输出需求,以及如何与 SQL Profiler 或 IronTrackSQL 集成,实现更强大的 SQL 监控功能。

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

    5. **集成工具**:可以与SQL Profiler或IronTrackSQL等工具结合,提供图形化的SQL性能分析。 【p6spy在Tomcat中的配置】 在Tomcat中配置p6spy,通常需要以下步骤: 1. **准备软件**:确保安装了Tomcat,下载p6spy...

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

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

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

    P6spy能够将SQL Profiler生成的日志以更加友好的格式展示出来,便于开发者阅读和分析。 综上所述,JDBC SQL Profiler在项目二次开发中的应用,不仅能够帮助开发者有效地监控和分析遗留系统的数据库操作,而且在缺乏...

    Weblogic,tomcat调试eclipse配置

    4. **必要的JAR文件**: 包括`p6spy.jar`, `sqlprofiler.jar`, `log4j.jar`等。 #### 三、配置步骤 接下来详细介绍具体的配置步骤。 ##### 第一步:下载并安装SQL Profiler - 访问官方网站或第三方资源网站下载SQL ...

    web开发调试配置详解

    - 将`p6spy.jar`及`sqlprofiler.jar`文件放置到相应的目录下。对于Web应用程序,这两个文件应该位于`E:\bea\weblogic81\server\ext`目录下。 - 设置`CLASSPATH`环境变量,包含所需的JAR文件路径: ```bat Set ...

    Web开发学会调试

    将`p6spy.jar`及`sqlprofiler.jar`两个关键的Jar包放置于ClassPath中。如果是Web应用程序,则应将其放置在`E:\bea\weblogic81\server\ext`目录下,并确保以下环境变量被正确设置: ```plaintext Set CLASSPATH=%...

Global site tag (gtag.js) - Google Analytics