来在应用程序中拦截和修改数据操作语句的开源框架。通过 P6Spy可以对 SQL 语句进行拦截,相当于一个 SQL 语句的记录器,这样可以用它来做相关的分析,比如性能分析。P6Spy 用 Log4J 来记录 JDBC 调用的
日记信息。
简单地讲,P6Spy的架构原理可以认为是一个代理(Proxy),它只做了一层对 JDBC 驱动的拦截,然后转发出去,这样的设计与实际的应用程序没有任何的耦合性,除了在配置中将驱动程序改成 P6Spy 的拦截驱动外,程序其他地方并不需要做任何的改变。这层拦截器除了可能会给系统带来略微的性能下降外,对程序其他方面没有任何的影响。而相对于这一点点的性能下降,在开发环境中对于开发人员来说是无法感觉到,相比它所带来的好处,完全可以忽略不计。下图为P6Spy 对数据库进行拦截监控的处理过程:
图8 P6SPY工作流程图
SQL Profiler 是一个由 Jahia.org 提供的基于 P6Spy 引擎的快速剖析工具,用来统计 SQL 查询语句以便了解哪里是性能瓶颈,在哪里创建索引或者采取相应的办法才能提高效率,并且能根据 SQL
查询语句的情况帮你生成合适的索引脚本。
这个小工具可以实时地显示数据库查询的情况,通过集成的 SQL 解析器,在访问大多数表与列上面建立统计分析,并生成索引脚本。当然,其它的信息也会进行收集和显示,比如:单个数据库请求的时间、一类请求的时间以及所有请求的时间。因此,可以有效地通过视图的排序来检测数据的性能问题所在。这个工具对于大量的需要进行分析的请求是非常有用的,而不是人工一个个地去做分析。当你需要知道比如对相同的表和列进行访问但是采用不同的查询值时,这种分组的查询可以用建立在 ANTLR 上的 SQL 解析器进行分析。[7]
1.9 运行环境
1.9.1 软件环境
表 1 软件环境
名称 版本 语种 操作系统 Windows Server2003 简体中文 操作系统的附加功能 SP2 3 简体中文 数据库平台 oracle 9i 简体中文 应用平台 tomcat 6.0 简体中文 客户端软件 MS IE 6.0 简体中文 1.9.2 硬件环境
表 2 硬件环境
服务器 最低配置 推荐配置 应用和数据库服务器 1CPU:P4 2.0G 1CPU:P4 2.8G Mem:1G Mem:2G HD:40G HD:120G
2 总体设计
2.1 系统分析
2.1.1 系统的名称、目标
本电信性能监测系统主要是为了实现电信公司对远程计算机的各项性能数据的监测,取出数据并以图文的形式显示结果。
本软件是为了解决中国电信对远程计算机系统的CPU和硬件等各项性能数据的监测,取得各系统的数据从而进行分析而设计制作,且电信内部计算机加入监测系统后同样可以对其进行监测,原则上电信内部的所有电脑都可以进行检测。公司内以管理员身份登入的计算机可以对其他计算机进行监测,公司内部其他计算机可以被管理员加作为外部电脑进行远程监测。
图9 主模块图
如上图所示,本系统分为三个主功能,分别为监测机器管理模块.用户管理模块和监测数据模块,以此实现相应的功能。
2.1.2数据字典
数据字典是关于数据库中数据的描述,即元数据,而不是数据本身。数据本身将存放在物理数据库中,由数据库
管理系统管理。数据字典有助于这些数据的
进一步管理和控制,为设计人员和数据库管理员在数据库设