http://www.javayou.com (收藏,设为首页)
当你不能再拥有时,你唯一能做的,就是让自己不要忘记 (手机请访问 http://3g.dlog.cn/javayou)

如何监控你的JDBC执行效率

2006年9月29日(Friday) 13点40分 作者: 刘冬 天气: 心情: 一般

一个页面从请求开始到用户完整的看到所有内容,这是一个很复杂的过程,仅仅是针对数据库访问而言,它可能需要访问好几个表,执行很多个SQL语句才能出来结果。那么我怎么才能知道在所执行的这些SQL语句里面哪个效率最差、最慢对页面的速度影响最大呢? 找出这些执行效率差的SQL语句便是优化的第一步,今天介绍一个基于p6spy的可视化SQL语句执行监控工具——IronTrackSQL。

先来看看这个工具的主界面

这个工具会帮我们打印所执行的每一个SQL语句,以及执行SQL语句执行了多少时间,执行的实践又包括编译多长实践、运行多长实践、取结果又需要多长实践,数据非常之详细。

有了这个东西是不是一下子就能发现我们的程序执行慢的瓶颈所在了嘛?接下来看看怎么使用

IronTrackSQL是利用p6spy这个项目来进行SQL监控的,要在我们的项目中引入这个东西是很简单的,而且不需要改动任意一行代码,你需要做的就是把驱动程序类换一下而已。

在你配置数据库连接池的地方将驱动类换成 com.p6spy.engine.spy.P6SpyDriver,然后把 spy.properties 文件拷贝到源码根目录,让它自动编译到类路径中,并且修改这个文件的 realdriver 配置为真正的数据库JDBC驱动类名,例如 : com.mysql.jdbc.Driver

另外你还需要三个jar包放到你项目的类路径中,例如web项目的WEB-INF/lib目录,这三个jar包是p6spy.jar,irontracksql.jar,log4j-xxxx.jar。OK后启动你的应用程序,就会在控制台上看到这么一行:

monitor port is set to 2000

这也就是说明p6spy已经起作用了,它绑定的端口是2000,接下来我们就可以用IronTrackSQl来查看运行的情况了,执行命令行程序

java -jar irontracksql.jar

就可以打开前面的界面了,点击工具栏上的Connect按钮就会看到SQL语句源源不断的跑出来:)

你可以到下面这个地址下载前面提到的文件

IronTrackSQL    http://www.irongrid.com/irontracksql
IronTrackSQL下载 http://www.dlog.cn/uploads/files/IronTrackSQL.zip
P6SPY    http://p6spy.sourceforge.net

标签: JDBC P6SPY IronTrackSQL 
评论者: Jonney 2006-9-29 18:57 (Friday)
看起来不错
评论者: v 2006-9-30 11:44 (Saturday)
IronTrackSQL 链接打不开
评论者: 2006-9-30 12:21 (Saturday)

IronTrackSQL是不是已经停止开发了,主页也没有了 :-(
冬哥你就顺便把 irontracksql.jar 也放上来吧......

评论者: 刘冬 2006-9-30 18:05 (Saturday)

irontracksql.jar的下载地址是:http://www.dlog.cn/uploads/irontracksql.jar

评论者: 叶雨 2006-10-8 11:50 (Sunday)

哈,还请帮忙啊!

我下载了irontracksql.jar,还有p6spy-install.jar的东西,也按你说的做了!

我的数据库访问也没问题了,可是我怎么调出上面的那个监控的页面呢?我用

java -jar irontracksql.jar这个命令,但是后面抛出了下面这个异常:Exception in thread "main" java.lang.NoClassDefFoundError: com/incors/plaf/kunststoff/KunststoffLookAndFeel

我的p6spy.jar与irontracksql.jar 是放在D:\jboss\server\default\lib下,我的环境是:jboss3.2, jdk1.4.2,还请指教啊!

评论者: 刘冬 2006-10-8 12:52 (Sunday)
还需要一些jar包都在irontracksql的目录下:(
评论者: 叶雨 2006-10-8 13:02 (Sunday)
我从http://www.dlog.cn/uploads/irontracksql.jar这个下下来的就只有一个irontracksqk.jar包啊,p6spy-install.jar这个包里也没有其他东西了啊,还在那些包啊?你能不能传过我一下啊,我的QQ:76988599,Email:bigsnow@126.com。谢谢了啊!
评论者: Alex 2006-10-10 11:17 (Tuesday)
跟叶雨同样的问题:

我从http://www.dlog.cn/uploads/irontracksql.jar这个下下来的就只有一个irontracksqk.jar包啊,p6spy-install.jar这个包里也没有其他东西了啊,还在那些包啊?你能不能传过我一下啊,我的QQ:76988599,Email:bigsnow@126.com。谢谢了啊!
评论者: Alex 2006-10-10 11:19 (Tuesday)
跟叶雨同样的问题:

我从http://www.dlog.cn/uploads/irontracksql.jar这个下下来的就只有一个irontracksqk.jar包啊,p6spy-install.jar这个包里也没有其他东西了啊,还在那些包啊?你能不能传过我一下啊,我的Email:alexsunstudio@hotmail.com 谢谢了啊!
姓名: 
邮箱:  {可选}
网址:  {可选} 此评论只有我和写日记的人查阅
校验码: ... <我看不清楚>
网记为您提供手机和互联网同步的个人主页,带给你不一样的体验