您的位置:首页 > 移动开发

利用P6SPY +SQL Profiler记录、统计web app对数据库的操作。

2009-07-02 09:16 483 查看
利用P6SPY +SQL Profiler记录、统计web app对数据库的操作。
弄hibernate时,想显示sql语句,可以设置show_sql为true来达到这个目的,但是参数值全是像PreparedStatement一样,用?来代替的。
用p6spy可以达到显示的那些参数原值的目的,但可读性差。可以利用SQL Profiler来处理这个事情。
p6spy: http://www.p6spy.com
SQL Profile: http://www.jahia.net/jahia/page597.html

p6spy安装:
* 将p6spy.jar放到WEB-INF/lib目录下,将spy.properties放到WEB-INF/classes目录下。
* 修改你 原有 JDBC Driver为:com.p6spy.engine.spy.P6SpyDriver
* 修改 spy.properties 中的 realdriver 值为 原有 的JDBC Driver,比如我的是:com.mysql.jdbc.Driver
* 完成,运行web server。

我的日志记录产生在 %TOMCAT_HOME%/bin下,此log位置可以能过修改 logfile = x:/x_dir/spy.log 来控制
打开看看,看里面的日志是不是看起来比较不爽?下面我们安装SQL Profiler来让自已的视线爽一点。

SQL Profiler安装:(须p6spy成功安装)
* 将SQL Profiler自带的spy.properties覆盖原来的classes目录下文件
* 修改现在spy.properties中realdriver 值为 原有 的JDBC Driver
看后看看readme注意这几句 ^__^ :
1. Start the GUI
2. Start the webapp, in starts doing some JDBC requests we will ignore
3. Press the "reset" button on the GUI
4. Make a request to the webapp
5. Press the "pause" button after the request has finished executing
6. Press the "report" button to save profiling results as a CSV file

* 我们先用java -jar sqlprofiler.jar 运行 sql profiler
* 然后启动web server :-)

一切尽在眼前了吧?
当然,p6spy 和 sql profiler 能做的不止这些,sql profiler还能根据你的query来帮你生成建立合适的index功能等等。

如果是为了查看hibernate的sql语句执行时的赋值情况的话
根本用不着加这些第三方的包,直接在log4j.properties文件
里加一行org.hibernate.type=trace就可以看到了

P6spy是一个JDBC Driver的包装工具,p6spy通过对JDBC Driver的封装以达到对SQL语句的监听和分析,以达到各种目的。

p6spy的安装步骤:

1. 下载p6spy的安装包

2. 把p6spy的jar包放到Classpath中,如果是WEB App放在WEB APP/WEB-INF/lib目录下

3. 把p6spy的Driver Class name替换原来的JDBC Driver Class Name, url, username, password一切都不变。
 -- 由于每个应用的数据库连接配置,可能不一样,有些是Hibernate, OJB, Spring或者其它。。。。请按照相应的配置文件修改即可。
 -- dbcp还要再试试,才知道是否支持,理论是支持的。  

4. 编辑spy.properties文件,把JDBC Driver Class Name作为RealDriverName的值,其它的属性一般不用指定.

5. 把spy.properties放到合适的目录下,一定要让App能够找着,如果是webapp就放在webapp/WEB-INF/classess/目录下。

6. 启动应用,看看spy.log是否生成出来了?

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/onlyme/archive/2005/07/05/414673.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐