- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
监控和剖析数据库操作 -- P6Spy、SQL Profiler、IronTrack SQL 使用简介
P6Spy
P6Spy 是一个可以用来在应用程序中拦截和修改数据操作语句的开源框架。通过 P6Spy 我们可以对 SQL 语句进行拦截,相当于一个 SQL 语句的记录器,这样我们可以用它来作相关的分析,比如性能分析。P6Spy 用 Log4J 来记录 JDBC 调用的日记信息。
自从 2003 年 11 月 30 日 P6Spy 版本 1.3 发布后,已经被下载超过 19,000 次了。P6Spy 支持 WebSphere、WebLogic、JBoss、Resin 和 Tomcat 等绝大多数的应用服务器。
使用步骤
首先,你的应用系统应当是基于数据库的,然后你需要去获取 P6Spy 相关的文件(在?参考资源?中可以找到下载链接,您可以直接下载软件包)。下面介绍 P6Spy 的安装与使用的详细操作过程:
下载?P6Spy 的文件包,也可以下载它的源文件包来研究;
把 P6Spy 的 jar 包 p6spy.jar 放到?CLASSPATH?中,如果是 Web 应用程序则放在?YourWebApp/WEB-INF/lib/?目录下;
把 perties 放到?CLASSPATH?目录下,如果是 Web 应用程序放在?YourWebApp/WEB-INF/classess/?目录下,注意不是lib/?目录
修改你应用系统中的数据库驱动名称为 P6Spy 的驱动程序名称?com.p6spy.engine.spy.P6SpyDriver?其它的全部使用默认值,暂时先都不用修改;
打开配置文件 perties 文件,找到?realdriver,把它的值改为你的应用系统的真正的数据库驱动名称;
运行你的应用程序或 Web 应用程序,可以在 spy.log 里看到 P6Spy 监测到的 SQL 详细的执行与操作的记录信息了,包含有完整的 SQL 执行参数。
P6Log 与 P6Outage
在 P6Spy 发布包中,它包含 P6Log 和 P6Outage 两个模块:
P6Log
P6Log 是用来拦截和记录任务应用程序的 JDBC 语句的。这个功能对于开发者监控 EJB 服务器上的 SQL 语句执行情况尤其有用,可以让开发者完成尽可能高效的代码。同时 P6Spy 的部署是极其简单的,而且根本不需要更改任何一行代码,即对现有的应用是无侵入性的。
realdriver= (your driver) (你的实际 JDBC 驱动程序名称)
executionthreshold=整数时间 (以毫秒为单位)
P6Outage
P6Outage 专门用来检测和记录执行时间比较长的 SQL 语句,P6Outage 只记录超过配置条件里时间的那些信息,并对可能影响到数据库的运行效率减小到最低。
#outagedetection=true|false (是否记录较长时间运行的语句)
#outagedetectioninterval=整数时间 (以秒为单位)
配置参数及相关意义
下表列出了 perties 配置文件中的各配置项的名称、默认值及其意义和相关注意事项:
配置项名称 默认值 配置项意义及相关注意事项 module.log com.p6spy.engine.logging. P6LogFactory 用来拦截和记录任务应用程序的 JDBC 语句。若无配置或注释掉则无此功能。 module.outage com.p6spy.engine.outage. P6OutageFactory 检测和记录执行时间比较长的 SQL 语句。若无配置或注释掉则无此功能。 realdriver 真正的应用系统使用的数据库驱动程序名称。 realdriver2 真正的应用系统使用的第二种备用数据库驱动程序名称。 realdriver3 真正的应用系统使用的第三种备用数据库驱动程序名称。 deregisterdrivers false 显示地把真正的数据库的驱动程序进行反注册掉。取值 true| false executionthreshold P6Log 模块执行时间设置,整数值 (以毫秒为单位),只有当超过这个时间才进行记录 Log。 outagedetection false P6Outage 模块是否记录较长时间运行的语句。取值 true| false outagedetectioninterval P6Outage 模块执行时间设置,整数值 (以秒为单位)),只有当超过这个时间才进行记录 Log。 filter false 是否过滤 Log,取值 true| false include
文档评论(0)