P6Spy & SQL Profiler & IronTrack SQL

http://yulimin.javaeye.com/blog/28880

关键字: Hibernate   Spring P6Spy SQL Profiler IronTrack SQL    
“Nearly 80 to 85 percent of database performance problems arise from the application database's design or the application's own code. Good transaction throughput requires an application designed from the database up, with performance and scalability in mind.”
----DB2 Magazine

P6Spy & SQL Profiler & IronTrack SQL

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里出现
  你的程序的数据库驱动名称 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.jahia.net/ 下载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.irongrid.com/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 图形化的界面上看到结果并进行分析了。 

时间: 2024-10-21 17:27:40

P6Spy & SQL Profiler & IronTrack SQL的相关文章

对比 PL/SQL profiler 剖析结果

      使用PL/SQL PROFILER 剖析PL/SQL代码是快速定位PL/SQL代码段最有效的方法.在上一篇文章使用PL/SQL PROFILER 定位 PL/SQL 瓶颈代码中描述了安装PROFILER,并给出了剖析的示例.本文参照了Tom大师的代码来对比剖析前后的性能并附上其代码.   1.用于实施剖析的存储过程 --环境 sys@USBO> select * from v$version where rownum<2; BANNER ----------------------

过滤SQL Profiler 跟踪的输出

对表的查询能力是为什么你应该要把SQL Profiler 跟踪输出到表里面的主要原因.过滤这个表里的数据比建立一个SQL Profiler容易得多.如果你没有时间全力建立SQL Profiler,那么这样做通常是正确的.在另一堆数据出现之前,在没回答前一个问题的数据捕获之后后,一天就过去了.实际情况是,在你记起以profile表为输入,查询为过滤的问题还没有提出前,一个星期就过去了.   一个避免把SQL Profiler跟踪输出放到表里的原因是:性能和容量的问题.把一个SQL Server的S

如何统计分析SQL Server Profiler 跟踪的SQL

--跟踪文件读入到表中分析 SELECT * INTO ZGSJY FROM fn_trace_gettable('E:\wxxcdbprofiler.trc', default); --某时间内,最耗时SQL select TOP 100 SUBSTRING(Textdata,1,660) as '名称', count(*) as '数量', sum(duration/1000) as '总执行时间ms', avg(duration/1000) as '平均执行时间ms', avg(cpu)

利用SQL Profiler处理开销较大的查询

原文:利用SQL Profiler处理开销较大的查询 当SQL Server的性能变差时,最可能发生的是以下两件事: 首先,某些查询产生了系统资源上很大的压力.这些查询影响整个系统的性能,因为服务器无法足够快速地服务其他SQL查询. 另外,开销较大的查询阻塞了其他请求相同数据库资源的查询,进一步降低了这些查询的性能.优化开销较大的查询不仅改进它们本身的性能,而且减少数据库阻塞和SQL Server资源压力从而提高了其他查询的性能. 识别开销较大的查询 SQL Server的目标是在最短时间内将结

PL/SQL Profiler 剖析报告生成html

    使用图形化界面工具实施PL/SQL Profiler 易用直观,但是并不是所有的环境都可以使用图形界面软件连接到数据库.对于只能在命令行下进行剖析又需要直观呈现剖析结果的情形,Oracle为我们提供了脚本来直接生成html文档.本文即是基于这种情形进行演示并加以说明.    有关PL/SQL Profiler的文章可以参考:        使用 DBMS_PROFILER 定位 PL/SQL 瓶颈代码         对比 PL/SQL profiler 剖析结果         使用P

SQL Server 的工具--SQL Mail

   SQL Server 除了提供强大的管理工具Enterprise Manager. 可靠的安全性管理和数据库备份与恢复功能.内置的复制组件以外还包括其他一些工具和令人欣慰的功能.在本章中我们将分别介绍SQL Mail. SQL Server Profiler. Query Analyzer, 希望读者能够熟练地使用它们从而形成对SQL Server 的全面了解. 19.1.1 SQL Mail 简介    在SQL Server Agent 一章我们已经讲过当用户创建的警报被执行时,警报就

MS SQL基础教程:SQL Server 2000的工具

1.3.4 Profiler SQL Server Profiler 是一个图形化的管理工具用于监督记录和检查SQL Server 数据库的使用情况对系统管理员来说它是一个监视用户活动的间谍 1.3.5 Client Network Utility SQL Server Client Network Utility 用于配置客户端的连接测定网络库的版本信息以及设定本地数据库的相关选项 1.3.6 Server Network Utility SQL Server Server Network U

MS SQL基础教程:SQL Server的工具-SQL Mail

SQL Server 除了提供强大的管理工具Enterprise Manager. 可靠的安全性管理和数据库备份与恢复功能.内置的复制组件以外还包括其他一些工具和令人欣慰的功能.在本章中我们将分别介绍SQL Mail. SQL Server Profiler. Query Analyzer, 希望读者能够熟练地使用它们从而形成对SQL Server 的全面了解. 19.1.1 SQL Mail 简介 在SQL Server Agent 一章我们已经讲过当用户创建的警报被执行时,警报就会通过电子邮

使用PL/SQL Developer剖析PL/SQL代码

    PL/SQL代码性能瓶颈可以通过DBMS_PROFILER包在命令行的方式下进行剖析来直接获得.对于比较复杂的代码而言,使用图形化的界面来进行剖析无疑是首选.PL/SQL Developer依旧依赖于DBMS_PROFILER包,使用图形化界面来剖析PL/SQL代码,如匿名块,包,过程,函数等,其Profiler结果将列出该剖析代码涉及到的所有包,过程函数等并且可以按照不同的列类型进行排序等.本文以图文的形式介绍了PL/SQL Developer 下实现PL/SQL 代码剖析.   1.