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

http://niyunjiu.iteye.com/blog/315451

http://www.ibm.com/developerworks/cn/java/j-lo-p6spy/index.html

简介

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

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

一、P6Spy的安装与使用

1、从http://www.p6spy.com/下载P6Spy的文件包,也可以下载它的源文件包来研究;

2、把P6Spy的jar包p6spy.jar放到classpath中,如果是Web应用程序则放在YourWebApp/WEB-INF/lib/目录下;

3、把spy.properties放到classes目录下,如果是webapp就放在YourWebApp/WEB-INF/classess/目录下,记得不是lib/目录

4、修改你程序的数据库驱动名称为P6Spy的驱动程序名称com.p6spy.engine.spy.P6SpyDriver其它的都不用更改;

5、打开spy.properties文件,把realdriver的值改为你的程序的数据库驱动名称;

6、运行你的应用程序或Web应用程序,可以在spy.log里看到监测到的sql详细记录信息了。

7、驱动程序加载先后的问题解决

如果spy.log里出现

你的程序的数据库驱动名称isarealdriverinspy.properties,butithasbeenloadedbeforep6spy.p6spywillnotwraptheseconnections.Eitherpreventthedriverfromloading,ortrysetting'deregisterdrivers'totrueinspy.properties

请把spy.properties文件里的deregisterdrivers=false改为deregisterdrivers=true,重新运行即可。

I

二、结合SQLProfiler进行图形化监控与使用

1、从http://www.jahia.net/下载SQLProfiler的文件包进行安装;

2、把p6spy.jar及sqlprofiler.jar放到classpath中,如果是Web应用程序则放在YourWebApp/WEB-INF/lib/目录下;

3、把spy.properties放到classes目录下,如果是webapp就放在YourWebApp/WEB-INF/classess/目录下,记得不是lib/目录

4、修改你程序的数据库驱动名称为P6Spy的驱动程序名称com.p6spy.engine.spy.P6SpyDriver其它的都不用更改;

5、打开spy.properties文件,把realdriver的值改为你的程序的数据库驱动名称;

6、注意要先运行java-jarsqlprofiler.jar来启动SQLProfiler,并成功看到启动后界面;

7、然后再启动你的应用程序或服务器,并开始进行正常的系统请求处理操作;

8、这样可以在SQLProfiler图形化的界面上看到结果并进行分析了。

并且可以通过保存按钮导出数据库优化建议的索引脚本

三、结合IronTrackSQL进行图形化监控与使用

1、从http://www.irongrid.com/ironeyesql下载IronTrackSQL的文件包进行安装;

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.P6SpyDriver其它的都不用更改;

5、打开spy.properties文件,把realdriver的值改为你的程序的数据库驱动名称;

6、设置监听端口号monitorport=2000

6、先运行java-jarirontracksql.jar来启动IronTrackSQL;

7、再启动你的应用程序或服务器;

8、可以在IronTrackSQL图形化的界面上看到结果并进行分析了。

错误信息

com.irongrid.ibeam.server.IBeamFactory错误

http://shuidexiongdi.iteye.com/blog/1202034

相关推荐