- 浏览: 137172 次
- 性别:
- 来自: 重庆
最新评论
-
老梦a:
要是保存到数据库,是怎么做呢,数据流这块,不太懂。。(*^__ ...
使用flash摄像头拍照的简单实践 -
wolf521hf:
学习 最近正在看相关的文档 标记下
Spring安全权限管理(Spring Security) -
yue_hun1025:
怎么下载不了??????
java反编译工具jad下载 -
ry.china:
你把这个放到jdk的bin目录下就可以了
java反编译工具jad下载 -
幻樱释:
不知道能不能看懂哦。
javascript高级程序设计实例代码
本想把 p6spy 结合 SQL Profiler 或 IronTrack SQL 的使用介绍掇凑于一块来写。简单点说,只是一贴上图样,篇幅便需拖拉难遂人愿,也好,索性把它们分成两个篇章。一来每篇主旨鲜明,二来五篇成一系列比起四更来的自然且吉利。
前面讲过 p6spy 本身就可利用 Log4j 的 SocketAppender 向远端发送日志,SQL
Profiler 不过是在这个基础上作了进一步拓展。而接下来要说的 IronTrack SQL 就略有不同了,看它带的
p6spy.properties 文件,里面有 IronTrack SQL 给 p6spy
定制的一个模块:module.ibeam=com.irongrid.ibeam.server.IBeamFactory。它用到了
log4j-1.2.8.jar,不过还得研究下 Log4j 在其中所起的作来。现在就来介绍 p6spy 结合 IrconTrack SQL
的使用,最好是你知道如何单独使用 p6spy。压缩包里有文档:是 IronTrackSQLdocsindex.html。
p6spy + IronTrack SQL 观察 SQL 语句
下载 IronTrack
SQL:http://www.dlog.cn/uploads/files/IronTrackSQL.zip,网上很多文章说从
http://www.irongrid.com/ironeyesql
下载,而实际上这个域名不存在了。若是第一个地址无法下载。好再看使用步骤,解开 IronTrackSQL.zip,可以看到在第一级目录中有必须的
p6spy.ar、log4j-1.2.8.jar、irontracksql.jar、spy.properties、
irongrid.properies 文件。
1. 把压缩包中的 irontracksql.jar 拷到 p6spy.jar 所在的目录中,比如 Tomcat 5.x 的 common/lib 目录中
2. 压缩包中还有个 p6spy.properties 文件,我们就在这个文件基础上少作改动,把它放在加载 p6spy.jar 的加载器能见的位置上,如 Tomcat 5.x 的 common/classes 目录中。
注意:如果你在 Tomcat 中,p6spy.jar 和 sqlprofiler.jar 是由 commons 加载器加载的,那么要用到的
log4j-1.2.8.jar 也必须放在与他们同一目录中由 cmmons 类加载器来加载,如果仍然在应用的
WEB-INF/lib目录中的话,log4j 的类对于 p6spy 和 sqlprofiler
来说不可见。如果你对于类加载器不熟的话,还是别把事情搞太复杂了,把那些 jar 文件全部放到应用的 WEB-INF/lib
中吧,但是配置连接池的时候又可能碰到新问题。
3. 修改 p6spy.properties 文件,只启用你所用的 realdriver,如对于 oracle 是 realdrive=oraclejdbc.driver.OacleDriver。
看到其中对模块 ibeam 的配置 monitorport=2000,我们就使用这个监听端口吧。
4. 命令行下进到 IronTrackSQL 的解压目录,执行 java -jar irontracksql.jar 来启动IronTrack SQL,监听 p6spy 的 SQL 语句输出
5. 启动应用,进行业务操作,就能在 IronTrack SQL 界面上直观的看到你需要的东西了。
不多说了,看看界面吧,这个 IronTrackSQL 看起来比 SQL Profiler 要专业些。
可设定监听端口,导出导入历史数据。
irongrid.properties 文件中保存了 Iron TrackSQL 运行时的配置数据。与 SQL Profiler 相比,它有以下几个特点:
1. 界面标志些,使用了 JFreeChart 来展示图表
2. 既能实时监听,又能保存历史数据来对比分析
3. 并不要求先启动 Iron TrackSQL,相比于 SQL Profiler 的被动监听,它采取的是主动去查询。更适于远程监控,想在何时监控就启动,完事就关闭,不至于像 SQL Profiler 那样一旦监听窗口坏了一下,就得重启应用。
一:P6SPY SQL PROFILER简介
弄JDBC,Hibernate,iBATIS时,想显示sql语句,可以设置show_sql为true来达到这个目的,但是参数值全是像PreparedStatement一样,用?来代替的。
用p6spy和SQL Profiler可以达到显示的那些参数原值的目的,可读性很强。然后可以直接把带有参数原值的sql语句拷贝到pl/sql或TOAD中跑一下,非常容易定位sql的错误在哪里。
P6spy是一个JDBC Driver的包装工具,p6spy通过对JDBC Driver的封装以达到对SQL语句的监听和分析,以达到各种目的。
SQL Profiler 是一个由 Jahia.org 提供的基于 P6Spy 引擎的快速剖析工具,用来统计 SQL 查询语句以便了解哪里是性能瓶颈,在哪里创建索引或者采取相应的办法才能提高效率,并且能根据 SQL 查询语句的情况帮你生成合适的索引脚本。
这个小工具可以实时地显示数据库查询的情况,通过集成的 SQL
解析器,在访问大多数表与列上面建立统计分析,并生成索引脚本。当然,其它的信息也会进行收集和显示,比如:单个数据库请求的时间、一类请求的时间以及所
有请求的时间。因此,可以有效地通过视图的排序来检测数据的性能问题所在。这个工具对于大量的需要进行分析的请求是非常有用的,而不是人工一个个地去做分
析。当你需要知道比如对相同的表和列进行访问但是采用不同的查询值时,这种分组的查询可以用建立在 ANTLR 上的 SQL 解析器进行分析。
二:P6SPY与系统集成
首先,你的应用系统应当是基于数据库的,然后你需要去获取 P6Spy 相关的文件。下面介绍 P6Spy 的安装与使用的详细操作过程:
1. 下载 <http://www.p6spy.com/download.html
> P6Spy 的文件包,也可以下载它的源文件包来研究;
2. 把 P6Spy 的 jar 包 p6spy.jar 放到 CLASSPATH 中,如果是 Web 应用程序则放在 YourWebApp/WEB-INF/lib/ 目录下;
3. 把 spy.properties 放到 lib目录下,如果是 Web 应用程序放在 YourWebApp/WEB-INF/ classes / 目录下,注意不是 lib / 目录下,同时tomcat/bin目录下放一份,否则将出现找不到数据库驱动异常
4. 修改你应用系统中的数据库驱动名称为 P6Spy 的驱动程序名称 com.p6spy.engine.spy.P6SpyDriver 其它的全部使用默认值,暂时先都不用修改;
5. 打开配置文件 spy.properties 文件,找到 realdriver,把它的值改为你的应用系统的真正的数据库驱动名称;
6. 运行你的应用程序或 Web 应用程序,可以在 spy.log(该文件的位置根据你的需要存放位置在spy.properties的logfile属性进行设置) 里看到 P6Spy 监测到的 SQL 详细的执行与操作的记录信息了,包含有完整的 SQL 执行参数。
三:P6SPY +SQL Profiler与系统集成
首先,你的应用系统同样也应当是基于数据库的,而且安装了P6SPY,然后你需要去获取 SQL Profiler 相关的文件。下面介绍 SQL Profiler 的安装与使用的详细操作过程:
1. 下载 <http://sourceforge.net/projects/sqlprofiler/
> SQL Profiler 的文件包进行安装;
2. 把 sqlprofiler.jar 放到 CLASSPATH 中,如果是 Web 应用程序则放在 YourWebApp/WEB-INF/lib/ 目录下;
3. 把
spy.properties覆盖之前的那个spy.properties文件,位置目录跟p6spy是一样的,修改你应用系统中的数据库驱动名称为
P6Spy 的驱动程序名称 com.p6spy.engine.spy.P6SpyDriver 其它的全部使用默认值,暂时不用修改;
4. 打开 spy.properties 文件,把 realdriver 的值改为你的程序的数据库驱动名称;
5. 注意要先运行 java -jar sqlprofiler.jar(在这个jar所在的目录下去运行) 来启动 SQL Profiler,并成功看到启动界面;
6. 然后再启动你的应用程序或服务器,并开始进行正常的系统请求处理操作;
7. 这样就可以在 SQL Profiler 图形化的界面上看到结果并进行分析了。
个人使用sqlprofiler配置没报错,但是没有日志,搞不清楚是怎么回事
发表评论
-
数据库JDBC驱动下载大全
2017-03-26 14:14 20501.数据库驱动下载地址 Cache : http://w ... -
MINA粘包断包专题研究
2015-05-13 00:25 0一、前述: 近期做项目用到了MINA,其中遇到了一个 ... -
Mybatis版PropertyFilter实现
2014-07-03 23:50 1469<!--前段时间看到hibernate的Proper ... -
java字符串应用之表达式解析器
2013-12-26 13:33 5225一、表达式的组成 1、数字 2、运算符:+ - ... -
全文检索Lucene使用与优化
2012-03-22 13:09 916转自http://www.oecp.cn/hi/chengzh ... -
Spring 里JMS和DB的事务集成
2012-02-10 18:59 1661http://www.javaworld.com/jav ... -
Java实现在bmp图像文件中隐藏与导出信息
2011-08-21 00:20 1332BMP图像文件,即所谓的位图文件。在位图中,其表示方式是 ... -
Spring事务配置的五种方式
2011-06-10 20:07 965前段时间对Spring的事务配置做了比较深入的研究,在此之间对 ... -
spring2.5 mvc common-validator 集成应用
2010-12-10 12:59 2868常常写客服端验证代码,写多了就感觉是否有啥东西可以简化处理的, ... -
通过java2dAPI绘制报表
2010-12-05 21:41 1424/* *只画直线,矩形,椭圆,只能向右下角 ... -
调整 JVM 开关以提高性能
2010-12-04 16:29 1029http://blog.csdn.net/petehero/a ... -
CGlib简单介绍
2010-07-06 21:58 886转载:http://hacker0825.blog.163.c ... -
java开源论坛系统
2010-01-04 22:52 4131java开源论坛系统 ================ m ... -
纯jsp日历
2009-12-16 09:44 1141网上找了一大堆日历,感觉跟自己的想要的有点差别,索性自己修改了 ... -
tomcat6学习笔记( 包括和apache2的集成,集群,SSI,SSL,安全域,嵌入应用程序,访问控制平台和管理平台)
2009-12-15 11:27 2420一.访问tomcat的控制平台和管理平台 首先下载tom ... -
有用的ext grid 例子
2009-11-06 14:22 4262有用的ext grid 例子 ... -
Spring安全权限管理(Spring Security)
2009-11-04 14:02 6392Spring Security以前叫做acegi,是后来才成为 ... -
spring事务传播属性与隔离级别
2009-10-20 15:22 2041一、Propagation (事务的传播属性) Pro ... -
一个用Spring AOP实现异常处理和记录程序执行时间的实例
2009-10-20 15:05 31115.11 一个用Sprin ... -
最新的jsp系统与discuz整合(含源码)
2009-10-13 13:44 21961>登录discuz后台:UCenter应用管理---- ...
相关推荐
用 p6spy 来观察 Java 程序中执行的所有 SQL 语句.docx
用p6spy来观察Java程序中执行的所有SQL语句[整理].pdf
P6spy是一个JDBC Driver的包装工具,p6spy通过对JDBC Driver的封装以达到对SQL语句的监听和分析,以达到各种目的。 p6spy的安装步骤: 1. 下载p6spy的安装包 2. 把p6spy的jar包放到Classpath中,如果是WEB App...
p6spy.jar 博文链接:https://lxy19791111.iteye.com/blog/131293
虽然在hibernate中有show_sql选项,但是显示出来的语句大多类似 select * from xxx where value=? 但是有时候我们需要得到完整的SQL语句,怎么办呢?使用P6SPY就可以完成这个任务
p6spy dataSource 配置 监听真实sql语句
NULL 博文链接:https://hqhe-nj.iteye.com/blog/342372
P6Spy 是一个可以用来在应用程序中拦截和修改数据操作语句的开源框架。通过 P6Spy 我们可以对 SQL 语句进行拦截,相当于一个 SQL 语句的记录器,这样我们可以用它来作相关的分析,比如性能分析。P6Spy 用 Log4J 来...
p6spy简介,p6spy完整显示hibernate的SQL语句 包括参数,spring p6spy 配置
NULL 博文链接:https://28680360-qq-com.iteye.com/blog/1673095
利用P6SPY +SQL Profiler调试、记录、统计web ...可以查看到PreparedStatment的执行最终的SQL语句。 有详细的操作说明 下面的这个是集成的完整版。。太大了就不上传了。自己下吧 jahia_v6_CommunityEdition_r25203.zip
p6spy是一种可以在控制台上打印出sql语句的工具类,可以和多种数据库交互框架结合在一起,调试程序非常方便
P6spy是一个JDBC Driver的包装工具,p6spy通过对JDBC Driver的封装以达到对SQL语句的监听和分析,以达到各种目的。
主要用于打印出执行的sql语句,用来判断程序的正确性。简单使用!
用于在tomcat/conf中配置连接数据库驱动。 P6Spy是一个可以用来在应用程序中...通过P6Spy可以对SQL语句进行拦截,相当于一个SQL语句的记录器,这样我们可以用它来作相关的分析,比如性能分析。 此压缩包包含文件和说明
与hibernate配合使用实现sql语句参数的打印及其他的一些性能方面的监控,有利于优化sql代码,用法上网随便一搜很多的
p6psy P6SPY 是一个监控JDBC执行语句的开源产品,利用P6SPY很容易的就能监控到JDBC中执行的SQL语句,便于系统调试和性能调优。 参考:https://blog.csdn.net/weixin_30641567/article/details/90108718
JDBC-Performance-Logger, 一个JDBC驱动程序包装器和用于分析 性能记录器命令行目测试通过JDBC执行的sql语句的性能。( 点击下面的图片了解这些特性的概况) 为什么还有另一个项目?虽然在JDBC性能监视( log4jdbc,P6...
4、使用p6spy 打印出hibernate 中已经替换了占位符参数的sql语句,为hibernate的调试不在感到苦恼 系统部署我使用的ant 部署,代码包含ant部署文件 skyline\coding\src\config\jdbc.properties 为数据库配置...