分享

数据库客户端sql监控P6Spy & SQL Profiler & IronTrack SQL

 CevenCheng 2011-08-05
数据库客户端sql监控P6Spy & SQL Profiler & IronTrack SQL
2011-03-11 11:41

P6Spy是一个可以用来在应用程序中拦截和修改数据操作语句的开源框架。 
通过P6Spy我们可以对SQL语句进行拦截,相当于一个SQL语句的记录器,这样我们可以用它来作相关的分析,比如性能分析。 

一、P6Spy的安装与使用
1、从 http://www./ 下载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里出现 
  你的程序的数据库驱动名称 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,重新运行即可。 

二、结合SQL Profiler进行图形化监控与使用
1、从 http://www./ 下载SQL Profiler的文件包进行安装; 
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 -jar sqlprofiler.jar 来启动SQL Profiler,并成功看到启动后界面; 
7、然后再启动你的应用程序或服务器,并开始进行正常的系统请求处理操作; 
8、这样可以在SQL Profiler图形化的界面上看到结果并进行分析了。 
并且可以通过保存按钮导出数据库优化建议的索引脚本 

三、结合IronTrack SQL进行图形化监控与使用
1、从 http://www./ironeyesql 下载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.P6SpyDriver其它的都不用更改; 
5、打开spy.properties文件,把realdriver的值改为你的程序的数据库驱动名称; 
6、设置监听端口号monitorport=2000 
6、先运行 java -jar irontracksql.jar 来启动IronTrack SQL; 
7、再启动你的应用程序或服务器; 
8、可以在 IronTrack SQL 图形化的界面上看到结果并进行分析了。

转自:http://www./topic/28880

by YuLimin

        补充:

        YuLimin在这篇帖子www./post/155660 讨论了P6Spy & SQL Profiler & IronTrack SQL,按他的办法做还是有一些问题,摸索了很长时间。将我的经验与大家分享一下, 我使用tomcat开发web程序的监控如下

复制附件中的的irontracksql.jar、p6spy.jar、log4j-1.2.8.jar到需要sql监控的应用程序的lib目录里面,web程序是WEB-INF/lib。 复制附件中的spy.properties到tomcat的bin/目录下面。YuLimin的帖子是放在classes下面,我试了很长时间没有成功。 修改你程序的数据库驱动名称为P6Spy的驱动程序名称com.p6spy.engine.spy.P6SpyDriver其它的都不用更改。 打开spy.properties文件,把realdriver的值改为你的程序的数据库驱动名称。 运行 java -jar irontracksql.jar 来启动IronTrack SQL。注意不是在应用程序的lib包下面运行这个,而是将附件解压,在解压目录运行。启动应用程序,web程序启动服务器 irontracksql中点击connect,连接上就可以监控sql了。

       注意问题:

使用JTA时有问题,不能监控。 使用连接池,也有可能出现问题,可以参考文档,或者在监控的时候不使用连接池。

转自:http://www./topic/148425

by andyao

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多