日期:2014-05-16 浏览次数:20757 次
http://www.ibm.com/developerworks/cn/java/j-lo-p6spy/
简介:?本文介绍如何在应用程序中利用 P6Spy、SQL Profiler、IronTrack SQL 工具来对数据库操作进行监控与剖析,从中发现应用系统存在的性能瓶颈,得到相关的优化建议并最终找到相应的解决办法。
<!-- <p class="ibm-no-print"> <div id="dw-tag-this" class="ibm-no-print"></div> <div id="interestShow" class="ibm-no-print"></div> </p> -->
?
?
发布日期:?2007 年 7 月 30 日
级别:?初级
访问情况?4631 次浏览
建议:?0?(添加评论) <!-- Rating_Area_Begin --><!-- Ensure that div id is based on input id and ends with -widget -->
?
<!-- dW_Summary_Area_END --><!-- CONTENT_BODY -->
在我们 Java 开发应用程序的过程中,难免会碰到系统的性能问题,特别在企业应用的开发过程中,都会与数据库进行打交道。当我们碰到数据库性能时,最有效的就是直接跟踪每一个 SQL 语句的执行情况,SQL 语句的优化、索引的优化往往也是最容易取得最直接的效果的。
下面,我们首先开始介绍 P6Spy 这个剖析工具,看它是如何无侵入性地进行数据库操作的监控与剖析。
P6Spy
P6Spy 是一个可以用来在应用程序中拦截和修改数据操作语句的开源框架。通过 P6Spy 我们可以对 SQL 语句进行拦截,相当于一个 SQL 语句的记录器,这样我们可以用它来作相关的分析,比如性能分析。P6Spy 用 Log4J 来记录 JDBC 调用的日记信息。
自从 2003 年 11 月 30 日 P6Spy 版本 1.3 发布后,已经被下载超过 19,000 次了。P6Spy 支持 WebSphere、WebLogic、JBoss、Resin 和 Tomcat 等绝大多数的应用服务器。
使用步骤
首先,你的应用系统应当是基于数据库的,然后你需要去获取 P6Spy 相关的文件(在 参考资源 中可以找到下载链接,您可以直接下载软件包)。下面介绍 P6Spy 的安装与使用的详细操作过程:
CLASSPATH
中,如果是 Web 应用程序则放在 YourWebApp/WEB-INF/lib/
目录下;CLASSPATH
目录下,如果是 Web 应用程序放在 YourWebApp/WEB-INF/classess/
目录下,注意不是 lib/
目录com.p6spy.engine.spy.P6SpyDriver
其它的全部使用默认值,暂时先都不用修改;realdriver
,把它的值改为你的应用系统的真正的数据库驱动名称;P6Log 与 P6Outage
在 P6Spy 发布包中,它包含 P6Log 和 P6Outage 两个模块:
P6Log 是用来拦截和记录任务应用程序的 JDBC 语句的。这个功能对于开发者监控 EJB 服务器上的 SQL 语句执行情况尤其有用,可以让开发者完成尽可能高效的代码。同时 P6Spy 的部署是极其简单的,而且根本不需要更改任何一行代码,即对现有的应用是无侵入性的。
realdriver= (your driver) (你的实际 JDBC 驱动程序名称) executionthreshold=整数时间 (以毫秒为单位) |
P6Outage 专门用来