用IronTrackSql监视sql执行
很好用,推荐下。
安装和使用:
参考 http://www.javayou.com/diary/3356
安装过程:
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语句源源不断的跑出来:)
优点:
- 动态,清晰,直观,可以过滤sql。
- 能分析执行时间,统计性能瓶颈sql
- 适用于任何jdbc连接,
- 能导入导出log。因此具有历史分析能力
缺点:
是个老项目了,基于p6spy,而后者最近的一次更新是2003年。也许有些jdbc新特性不支持。jdbc3.0是肯定不行的,不过我们用得很少,所以问题还不大。
不知道在生产模式能否适用,查找服务器性能瓶颈绝对是个利器。
【2009-4】
后记:图里的数据库是已经废弃的项目了,改天再把它涂掉。