首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > P6SPY,数据库操作监测工具
【标  题】:P6SPY,数据库操作监测工具
【关键字】:P6SPY
【来  源】:http://www.cublog.cn/u/10128/showart.php?id=92798

P6SPY,数据库操作监测工具

 

    最近发现了一个好工具,可以实现数据库访问操作的动态监测.该工具就是P6SPY(是开源项目:http://www.p6spy.com).

   

一、P6SPY 简介
P6SPY模拟并代理了一个标准的JDBC driver,我们只要将系统的JDBC切换到P6SPYJDBC driver上,同时在P6SPY中配置实际的JDBC,就可以使用P6SPY提供的数据访问性能检测功能。

l         下边以Hibernate为例,来说明P6SPY的配置,配置步骤如下:

1.              P6SPY网站(http://www.p6spy.com)下载其软件包p6spy-install.zip,解压得到两个文件:p6spy.jar(运行包)和spy.properties(配置文件)

2.              修改hibernate配置文件hibernate.cfg.xml,driver_class修改为P6SPY提供的JDBC driver class

com.p6spy.engine.spy.P6SpyDriver

注:如果用jdbc或其他的orm映射工具,只需要修改相应的dirverclass即可。

3.              修改P6SPY的配置文件spy.proterties,制定用于实际操作的jdbc driver

realdriver=com.mysql.jdbc.Driver

4.       p6spy.jar放在运行环境中的classpath中,将配置文件spy.properties放在src目录的根节点下面。

到此为止,P6SPY的配置基本完成。这样,我们就在应用程序与底层JDBC之间夹了一个中间层,通过这个中间层,我们可以截获所有的底层JDBC操作,从而可以实现SQL执行效率的分析以及执行结果的统计分析。

可以统计如下信息:

       某条SQL的执行时间,执行次数,以及在全部sql中的执行频率,相对时间消耗比等数据。根据统计结果,我们可以找到对系统性能影响最大的sql操作,并对其进行优化。

 

 

P6SPY的默认输出文件是spy.log,其日志格式如下:

1143687527500|-1||debug||com.p6spy.engine.common.P6SpyOptions reloading properties

1143687527531|-1||info||Using properties file: D:\project\box2.0\exploded\WEB-INF\classes\spy.properties

1143687527531|-1||info||No value in environment for: getStackTrace, using: false

1143688656312|-1||resultset|select custmailgr0_.id as id, custmailgr0_.mailName as mailName, custmailgr0_.comments as comments, custmailgr0_.userName as userName, custmailgr0_.password as password, custmailgr0_.created as created, custmailgr0_.createdBy as createdBy, custmailgr0_.lastUpd as lastUpd, custmailgr0_.lastUpdBy as lastUpdBy, custmailgr0_.bizresId as bizresId, custmailgr0_.province as province, custmailgr0_.city as city, custmailgr0_.isReceiver as isReceiver from Custmailgruop custmailgr0_ where (isReceiver=1 )|bizresId = 3, city = null, comments = null, created = null, createdBy = 17, id = 0, isReceiver = 1, lastUpd = null, lastUpdBy = 17, mailName = box@staff.monternet.com, password = ******, province = null, userName = box

 

可以看到,日志文件比较复杂,如果单纯的看日志文件会很繁琐,而且不容易统计。因此还要介绍一个图形化的监控界面工具,该工具可以实时监控Sql执行过程,并对执行过程进行统计分析,为数据库优化提供依据。该工具就是Sql Profiler

 

二.Sql Profiler 简介:

Sql Profle提供了直观的Sql统计结果,并会给出一些数据库优化的建议,其安装配置运行步骤如下:

1.  Sql Profiler网站(http://www.jahia.org)下载Sql Profiler并解压,得到两个文件:

SqlProfiler.jar(运行包)spy.properties(P6SPY配置文件)

2.  修改spy.properties配置文件,制定实际使用的JDBC driver(参考上边的P6SPY配置).

3.  启动Sql Profiler

Java –jar sqlprofiler.jar (如果报OutOfMemory,执行 java –Xmx 256 –jar sqlprofiler.jar)

4.         查看sql执行记录及统计页面:

3Tab

1〉  Profiler Tab 分上中3部分:

I〉               上部:显示当前正在执行的sql的实时信息,每秒刷新一次。

II〉            中部:显示优化统计结果。当按下工具栏的暂停按钮时,工具开始优化分析,并将结果显示在这个栏中。

III〉          下部:显示了当前选定的sql的详细信息

 

2〉  Logger tab

显示的是每条sql执行的log信息

3〉  Ananlysis tab

统计信息

数据库设计三大范式应用实例剖析[转载]:【上一篇】
ASP.NET数据库编程:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • 执行计划(CBO)
  • TEG-S2400I千兆铜线交换机
  • 《利用Tripwire检测系统完整性(1)》
  • Web2.0的腾飞
  • 关于VC++的输出
  • 关于Flash中linkage的loading问题
  • Sudoku 1.2 版本完成
  • 一道据说是Google的面试题
  • [MYSQL]游標應用11/13
  • 不能ASP图像组件来生成图像的ASP计数器程序(二) 
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.