文档库 最新最全的文档下载
当前位置:文档库 › 用p6spy和sqlprofiler来分析jdbc sql日志

用p6spy和sqlprofiler来分析jdbc sql日志

用p6spy和sqlprofiler来分析jdbc sql日志回音壁世界是个回音壁,你发出什么声音就会听到什么声音
导航
总目录 青草地
回音壁 主人相册
发文 管理
hibernate
用p6spy和sqlprofiler来分析jdbc sql日志
Hibernate Tool
映射继承关系
Blob Clob字段映射
hiberante中使用复合主键
映射关联关系
第一个hibernate应用
用p6spy和sqlprofiler来分析jdbc sql日志
1.简介

p6spy是针对数据库访问的动态监测框架,经长时间的发展已经非常成熟,p6spy模拟了一个标准的JDBC
Driver,代理了真正的底层JDBC驱动。也就是说,我们只要把系统中所用的jdbc驱动配置成p6spy
驱动,把p6spy配置中的realdriver配置为我们实际使用的JDBC Driver,就可以使用他的性能监测功能了。

Sqlprofiler是p6spy的周边资源,p6spy用日志文件记录,看起来比较麻烦,Sqlprofiler为我们提供了一个图形化的监控界面,可以实时监控SQL执行过程,对执行结果进行统计并加以优化。

2.下载

p6spy
https://www.wendangku.net/doc/8c11630574.html,/sourceforge/p6spy/p6spy-install.zip

sqlprofiler
https://www.wendangku.net/doc/8c11630574.html,/sourceforge/sqlprofiler/sqlprofiler-0.3-bin.zip

3.配置p6spy

解压p6spy-install.zip,把p6spy.jar拷贝到我们项目里的lib下,spy.properties放到源码的根目录下就可以了

修改spy.properties
realdriver=org.gjt.mm.mysql.Driver #实际使用的数据库驱动程序的名字
appender=com.p6spy.engine.logging.appender.StdoutLogger

在设置数据源或者配置数据库连接的地方,
修改driver为:com.p6spy.engine.spy.P6SpyDriver
如修改hibernate.cfg.xml:


com.p6spy.engine.spy.P6SpyDriver


p6spy的基本配置已经完成,我们要做的只是简单切换JDBC
驱动,位于应用和jdbc之间的p6spy可以截获所有的jdbc操作,就可以很容易的实现SQL执行效率的判定及执行结果的分析统计,如sql的执行时间、次数、频度等。

运行一个数据库操作后就可以看到p6spy的日志,发现他是不是很容易看的,下面的Sqlprofiler就解决了这个问题。
4.配置Sqlprofiler

解压sqlprofiler-0.3-bin.zip,把spy.properties拷贝到项目中,覆盖之前的spy.properties,要改的也只是realdriver,可以看到配置文件中有log4j,这就需要我们吧log4j的jar拷贝到应用中。

sqlprofiler.jar并不需要拷贝到应用中,他需要我们来执行:
java -Xmx256m -jar sqlprofiler.jar

spy.properties片断:
log4j.appender.SQLPROFILER_CLIENT=https://www.wendangku.net/doc/8c11630574.html,.SocketAppender
log4j.appender.SQLPROFILER_CLIENT.RemoteHost=localhost
log4j.appender.SQLPROFILER_CLIENT.Port=4445
log4j.appender.SQLPROFILER_CLIENT.LocationInfo=true

p6spy 通过SocketAppender
向sqlprofiler发送日志信息

,sqlprofiler启动后就开始监听本机的4445端口,在应用中执行数据库操作后就可以在sqlprofiler的界面中看到sql语句的执行结果。

irini 2007-01-08 14:04:56 评论:2 阅读:37 引用:0
回复游客问题 @2007-02-10 09:02:34 irini
我想你应该先看一下下面两个问题:
1. 在p6spy 和 sqlprofiler 都不配置的情况下sql操作是否正常

2. 只配置p6spy,sql操作后p6spy的日志正常记录了吗?

如果上两个问题都是正常的,那就只是sqlprofiler
的配置问题了,看一下上面的配置或找其他文章仔细看一下应该就可以了,如果还有问题可以把问题详细记录下来,贴在这里,或给我发邮件duysh@https://www.wendangku.net/doc/8c11630574.html,
@2007-01-31 11:52:42 游客
配置好了,而且sqlprofiler也显示连接到p6spy了,但执行程序操作时就是看不到对应的执行的sql语句!??是怎么回事情呢!?

发表评论>>
署名发表(评论可管理,不必输入下面的姓名)
姓名:
主题:
内容: 最少15个,最长1000个字符

认证码: (如不清楚,请刷新)

Copyright@2006 powered by YuLog

相关文档
相关文档 最新文档