监控和剖析数据库操作 -- P6Spy、SQL Profiler、IronTrack SQL 使用简介

发表于:2007-8-09 17:22

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:俞黎敏    来源:IBM

图 5. SQL Profiler 处于非连接状态
图 5. SQL Profiler 处于非连接状态

图 6. SQL Profiler 处于连接状态
图 6. SQL Profiler 处于连接状态

IronTrack SQL
        IronEye,一个专注于 JDBC 性能的监控和测试的开源项目,它包含有三个工具:IronEye SQL,IronEye Cache,IronTrack SQL。其中,IronEye SQL 用于监测 Java 应用和数据库服务器之间查询开销的时间,诊断在性能方面是否存在着相关问题,让开发人员在测试之前就能发现问题。IronEye 于 2003 年 10 月 1 日开始基于 Apache Software License 发布。
        IronEye SQL 这个轻量级的 Java 工具提供所有流动在数据库与应用程序之间的 SQL 统计信息并用多张图表展现,可以快速优化程序的性能。
IronGrid 相对于 Continuous Integration 提出了 Continuous Performance 的概念,即在项目开发过程中随时关注性能问题,而不是传统的出了问题再解决的方案。
        IronGrid 在应用程序对数据库的操作上的 Continuous Performance 是通过 IronTrack SQL 进行体现的。IronTrack SQL 能通过对 JDBC 的包装来拦截应用程序对数据库的请求,完成性能监控。IronTrack SQL 的好处在于不需要修改任何代码或者在数据库端安装任何程序,只需要在测试时把依赖的 JDBC 替换就可以了。
使用步骤
        首先,你的应用系统同样也应当是基于数据库的,然后你需要去获取 IronTrack SQL 相关的文件(在 参考资源 中可以找到下载链接,您可以直接下载软件包)。下面介绍 IronTrack SQL 的安装与使用的详细操作过程:
下载 IronTrack SQL 的文件包进行安装; 
        把 irontracksql.jar, p6spy.jar 和 log4j-1.2.8.jar 放到 CLASSPATH 中,如果是 Web 应用程序则放在 YourWebApp/WEB-INF/lib/ 目录下; 
        把 spy.properties 放到 CLASSPATH 目录下,如果是 Web 应用程序就放在 YourWebApp/WEB-INF/classess/ 目录下,注意不是 lib/ 目录; 
        修改你程序的数据库驱动名称为 P6Spy 的驱动程序名称 com.p6spy.engine.spy.P6SpyDriver 其它的都不用更改; 
        打开配置文件 spy.properties 文件,找到 realdriver,把它的值改为你的应用系统的真正的数据库驱动名称; 
        设置监听端口号 monitorport=2000; 
        先运行 java -jar irontracksql.jar 来启动 IronTrack SQL; 
        再启动你的应用程序或服务器; 
        可以在 IronTrack SQL 图形化的界面上看到结果并进行分析了。
连接设置
        点击“Config”按钮就可以设置主机名、端口与刷新的时间(毫秒为单位)。根据你的服务器与端口的不同而进行相应地改变,下面以本地和 2000 端口,刷新时间为 500 毫秒为示例。设置完成后,确定,点击“Connect”就可以连接应用系统并进行监测与分析了,当要停止分析时,只要点击“Disconnect”按扭即可立刻停止分析了。
        在分析的过程中,我们可以根据需要点击“Purge”按钮,它可以清除目前所监测到的内容,然后重新进行记录监测信息,很方便地进行重新开始。

图 7. IronTrack SQL 连接示例
图 7. IronTrack SQL 连接示例

《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • yolanda_ji
    2012-6-08 12:43:04

    你好,想问一下
        把 P6Spy 的 jar 包 p6spy.jar 放到 CLASSPATH 中,如果是 Web 应用程序则放在 YourWebApp/WEB-INF/lib/ 目录下;
        把 spy.properties 放到 CLASSPATH 目录下,如果是 Web 应用程序放在 YourWebApp/WEB-INF/classess/ 目录下,注意不是 lib/ 目录

    这个什么意思啊?需要安装tomcat?  我服务器使用的是mysql

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号