2006-10-20
P6Spy & SQL Profiler & IronTrack SQL
关键字: 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 图形化的界面上看到结果并进行分析了。
----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 图形化的界面上看到结果并进行分析了。
- 19:22
- 浏览 (11945)
- 论坛浏览 (13777)
- 评论 (15)
- 分类: Java
- 相关推荐
评论
fallingstone
2007-04-25
回复
spy.properties可以放在bin那个目录下。你先用默认的输出到log文件的那个试试,看看spy.properties起不起作用。
YuLimin 写道
nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'com.p6spy.engine.spy.P6SpyDriver'
你用的是DBCP的连接池?你查一下我上传的附带的文档吧。
你用的是DBCP的连接池?你查一下我上传的附带的文档吧。
搜遍这个文档,没有dbcp的字眼..
上次轻易把p6spy安装好了,这次在junit中很正常,但是tomcat就是无法加载.... 貌似是spy.properties没加载.
junit测试用的dataSource 也是dbcp那个.
被折腾的心力交瘁..
yejienihao 写道
请问我在做第三步“结合IronTrack SQL进行图形化监控与使用”时,为什么执行了java -jar irontracksql.jar,出现一下错误:Exception in thread "main" java.lang.NoClassDefFoundError: com/incors/plaf/kunststoff/KunststoffLookAndFeel
另外第六步:设置监听端口号monitorport=2000,是在spy.properties文件里面添加吗?
谢谢
另外第六步:设置监听端口号monitorport=2000,是在spy.properties文件里面添加吗?
谢谢
出那个错误,你可以用java ide 导入irontracksql.jar 和其他相关的包,运行com.irongrid.ibeam.ui.swing.Console 的 main 方法
在spy.properties文件里面添加
module.ibeam=com.irongrid.ibeam.server.IBeamFactory
monitorport=2000
yejienihao
2006-11-15
回复
请问我在做第三步“结合IronTrack SQL进行图形化监控与使用”时,为什么执行了java -jar irontracksql.jar,出现一下错误:Exception in thread "main" java.lang.NoClassDefFoundError: com/incors/plaf/kunststoff/KunststoffLookAndFeel
另外第六步:设置监听端口号monitorport=2000,是在spy.properties文件里面添加吗?
谢谢
另外第六步:设置监听端口号monitorport=2000,是在spy.properties文件里面添加吗?
谢谢
nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'com.p6spy.engine.spy.P6SpyDriver'
你用的是DBCP的连接池?你查一下我上传的附带的文档吧。
你用的是DBCP的连接池?你查一下我上传的附带的文档吧。
楼主:
我按照你说的方法,在JUnit的用例测试中没有问题;但是在tomcat服务器中测试时报找不到正确的驱动的错误,我数据库用的mysql。
具体错误如下:
楼主给我找找原因吧!谢谢!
我按照你说的方法,在JUnit的用例测试中没有问题;但是在tomcat服务器中测试时报找不到正确的驱动的错误,我数据库用的mysql。
具体错误如下:
org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: Cannot open connection; uncategorized SQLException for SQL [???]; SQL state [null]; error code [0]; Cannot create JDBC driver of class 'com.p6spy.engine.spy.P6SpyDriver' for connect URL 'jdbc:mysql://localhost:3306/myexam?useUnicode=true&characterEncoding=utf-8'; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'com.p6spy.engine.spy.P6SpyDriver' for connect URL 'jdbc:mysql://localhost:3306/myexam?useUnicode=true&characterEncoding=utf-8' org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:97) org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.translate(SQLErrorCodeSQLExceptionTranslator.java:258) org.springframework.orm.hibernate3.HibernateAccessor.convertJdbcAccessException(HibernateAccessor.java:424) org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:411) org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:371) org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:844) org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:836) exam.ssh.dao.GoodsDAO.findTotal(GoodsDAO.java:29) exam.ssh.serverimp.GoodsServerIMP.getGoods(GoodsServerIMP.java:42) exam.ssh.webapp.action.GoodsAction.showeAllForward(GoodsAction.java:73) exam.ssh.webapp.action.GoodsAction.execute(GoodsAction.java:53) org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507) javax.servlet.http.HttpServlet.service(HttpServlet.java:689) javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
楼主给我找找原因吧!谢谢!
MarkDong 写道
大哥啊,你哪转的帖子啊,irongrid.com早就不能访问了,我也一直想找到irongrid的几个开源工具,如果你有可以发给我吗?谢谢了
1、这是我自己参考doc文档而写的贴子,IronGrid.com的确在我整理这个贴子的时候访问不了了。
2、如果有需要,我可以把这些所需要的文件打包放上来。
3、其它的几个开源工具也是不错的,可惜现在比较难找了。
MarkDong 写道
大哥啊,你哪转的帖子啊,irongrid.com早就不能访问了,我也一直想找到irongrid的几个开源工具,如果你有可以发给我吗?谢谢了
irongrid这个要收钱的
以前用SQL Profiler使用的是Log4j的SocketAppender,现在好像配置简单了
Profiler适合进行语句和数据填充的正确性跟踪。IronTrack SQL比较适合寻找瓶颈语句。回去钻研一下,看看是否如此。
Profiler适合进行语句和数据填充的正确性跟踪。IronTrack SQL比较适合寻找瓶颈语句。回去钻研一下,看看是否如此。
发表评论
该博客是同时发布到论坛的,无法评论在论坛已被锁定的帖子
我的相册
IBM_Jam2008_YuLimin
共 169 张
共 169 张
最近加入圈子
链接
- 超越黎明
- CJSDN
- CSDN
- JavaWorld@TW
- JavaEye
- Spring中文论坛
- Matrix
- BEA dev2dev
- Agile Tao Forum
- Flickr
- developerWorks
- TheServerSide
- Sun Java Forum
- JavaRanch
- 满江红开源
- del.icio.us
- Sun中国技术社区
- 希赛网中国软考
- AJAX Design Patterns
- CSS: The Missing Manual
- Java Persistence with Hibernate
- Script in Java
- Building Spring 2 Enterprise Applications
- Tuscany中文社区
- 我爱人开的购物店,欢迎光临
- Beginning Spring 2: From Novice to Professional
- Effective Java Second Edition
- JAVA世纪网
最新评论
-
请删除你的NPP吧,可以用 ...
引用引用 NotePad ++ 的作者没有什么可以非议的,人家只是公开表达了自己 ...
-- by JJiaoWzk -
2008年JavaEyer广州周末篮 ...
有没有活动照片可以秀啊
-- by fins -
2008年JavaEyer广州周末篮 ...
有没打成? 太可惜了,我国庆昏睡四天,再打了两天球,一天K歌.
-- by yidwo -
JSP文件下载及getOutputS ...
你的代码有问题,还是会抛出错误。解决办法:在使用完输出流以后调用以下两行代码即可 ...
-- by CoderDream -
多普达Dopod德版D900刷机 ...
我买多普达后,在坛子上泡了三天就开刷前一个星期刷了N次(N>=15),然后就烦了 ...
-- by Eastsun







评论排行榜