(计算数学专业论文)基于bp神经网络的数据库系统性能调优.pdf_第1页
(计算数学专业论文)基于bp神经网络的数据库系统性能调优.pdf_第2页
(计算数学专业论文)基于bp神经网络的数据库系统性能调优.pdf_第3页
(计算数学专业论文)基于bp神经网络的数据库系统性能调优.pdf_第4页
(计算数学专业论文)基于bp神经网络的数据库系统性能调优.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算数学专业论文)基于bp神经网络的数据库系统性能调优.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于b p 神经网络的数据库系统性能调优摘要本文介绍数据库性能及与之相关的资源配置和数据库性能监控工具,介绍b p 神经网络及其应用;分析了当前数据库系统性能调优的传统方法,指出当前性能调优过程效率不足的主要原因是测试方法没有一致性,分析方法没有整体性,对历史数据没有充分利用,调优过程凭经验为主,难以把握。本文提出了用b p 神经网络方法来解决数据库性能调优这一传统而又亟待解决的难题,研究开发了一个数据库系统性能调优的数学模型,并经过实际案例验证:通过数学模型指导调优过程,可以对数据库系统作出整体的性能分析,加快调整度量决定的速度,减少调优过程反复尝试的次数,从而降低性能调优过程对业务应用的影响,提高数据库系统性能调优效率。此外,通过数学建模还有利于开发出相关的性能调优辅助工具,用于指导非专业的数据库系统管理员进行性能调优工作。关键词:性能调优、数学建模、b p 神经网络d a t a b a s es y s t e mp e r f o r m a n c et u m i n gb a s e do nb pn e u r a ln e t w o r ka b s t r a c tn ep a p e ri n t r o d u c e sd a t a b a s ep e r f o r m a n c e ,r e s o u r c es c l l e m ea n dm o n n o rt o o li i l t e n l a t e dt o “,a n db pn e u r a ln e t w o r k ;t h e na n a l y z e st r a d i t i o n a lm e t h o d so fd a t a b a s ep e r f o r m a d c et u m j i l 舀a n dp o i m so u tt h er e a s o no f1 0 we 伍c i e n c yi i lt r a d j t i o n a lm e t h o d si st h a tt h e yh a v en oc o n s j s t e n c yi l lt e s t i l l ga n di n t e g r i t yi l la n a l ”i l l g ,a d d i n gi g n o r a n c eo ft h eh i s t o f 耙a ld a t a 柚de m p 埘c i s mi nt 嘶gp r o c e s s t h ea u t h o r 缸f o d u c c sd a t a b 船es y s t e mp e r f o 珊a n c et u r n i n gb a s e do nb pn e u r a ln e t w o r k 柚d b u i l d sam a t h c m a t i c a l 瑚d e lf o fd a t a b a s es y s t e mp c r f o 彻a n c ct u m i i l 舀a n dt h ep r a c t i c ep r o v e dt h a t :w i t ht h eh e l po ft h i sm o d e w ec a nd oi n t e 萨a la n a l y s j st od a t a b a s es y s t e m ,f i n do u tt h et a 唱c tv a l i l eo fr c s o w c em o r cq u i c k l y d e c r c a s et h et e s t i n gt i l n e s ,t h e r e b yf e d u c et h ei l l f l u e n c eo na p p l i c a t i o nt h r o u g h o u tt h et u r i l 堍p r o c e s s ,柚di l l c r e a s et h ee f i c i e l l c yo fp e r 向m a l k et u m i l l gd a t a b 醛es y s t e m f u n h e rm o r c ,w ec a l lm a k es o m ea 骆i s t 蛐tt 0 0 l s ,w l l i c hi sh e l p f l l lt ot h ed a t a b a s es y s t e mm a n a g e ri l lp e r f o r m i l c et u 岫堰k e yw b r d s :p e r f b m a l l c et u m 抽g ,m a t h e m a t i c s l o d e l i n g ,b pn c l l r a ln e t w o r k 第1 章绪论第l 章绪论1 1 数据库系统性能调优的现状随着数据库规模的扩大,内部竞争的复杂性增大,数据库性能问题也就变得越来越重要,而大多数的性能问题还得靠性能调优和应用的重新设计来解决。因此,如何对数据库进行调优也就成为一个非常突出和关键的问题。数据库系统性能的优化,除了在设计阶段对其逻辑结构和物理结构进行优化设计,使之在满足需求条件的情况下,系统开销达到最小,系统性能达到最佳以外,还可阻在运行数据库阶段,采取一些优化措施来使其达到最佳性能。在现有软硬件条件下,充分发挥数据库系统的潜能进行数据库性能调优是d b a ( 数据库管理员) 追求的撮高境界。然而,数据库性能调优是一个非常复杂的问题,需要潜心研究数据库的理论知识【l l ,所以数据库系统性能调优往往是数据库专家的工作,这种专家只有在数据库系统开发商里面才容易找到。在数据库系统开发商不公开其核心技术的情况下,专家的资源是非常昂贵的。数据库系统开发商提供的性能调优辅助工具价格也是相当高昂,大多数数据库系统的用户无法承受。大型数据库系统的应用和维护相当复杂,尤其是随着应用的深入,数据量的快速增长,数据库管理系统的处理性能会迅速下降,如不及时进行性能的调优或改善运行环境,最终将导致数据库应用系统对业务处理的失效或停顿,给应用系统带来重大的损失。近年来,对数据库系统性能调优的研究集中在程序结构调整改善、程序编写优化、利用经验值调整系统参数以及变更o s 性能配合数据库系统性能等方面。如:有人研究m i s 系统中通过改善软件结构优化系统性能;有人研究通过修改处理逻辑结构来进行系统性能优化;有人研究通过资源配置改善,提高o f a c l e 数据库系统的性能;研究通过资源配置优化,提高i 幻r m i 【数据库系统性能:有人研究在h pu x 下改善o r a c l e 系统的性能等。第1 章绪论1 2 数据库系统性能调优的目标数据库性能调优分为面向应用的性能凋优和面向环境的性能调优。实践证明,面向环境的数据库性能调优绝大数调优方法对性能的提高都不能超过2 0 ,所以面向应用的调优方法还是当前占主流的调优方法。本文所要提出的b p 神经网络应用于数据库性能调优,是面向环境的一种调优方法,是对面向环境调优方法的一次尝试和创新。不管是在设计还是维护系统,都应该设置专门的性能目标,从而知道何时需要调整。开始调整前必须制定清晰的目标。在每个调整措施中也必须牢记目标,根据目标考虑性能收益。若试图毫无目标的进行调优,那可能就是在浪费时闻,而且不会有重大的收获。此外、,也只有在明确定义性能目标后,才可以很准确的确定性能调整是否完成。般地,数据库系统性能调优有以下目标【3 j :1 在可接受的范围内取得关键操作的性能。可接受的范围是由应用的约束来设置的,如客户愿意等待的时间或进行维护操作的必需时间。2 找到最适合系统使用的理想的性能平衡。这个目标要比第一个目标花更长的时间和更大的代价才能达到。但这个目标仍然是受欢迎的,因为某些企业的竞争优势就在于他们能够完成事务的速度。3 改善数据库系统的各项性能,提高数据库系统的运行效率,以满足业务应用的需要。4 改善数据库系统的资源效率,在保证业务应用正常运行的前提下,减少数据库系统的资源消耗。5 对数据库系统的效能作出监控,分析性能变化的趋势,评估数据库系统的潜力。6 根据数据库系统性能趋势,及早发现资源不足,为增加硬件资源投入提供科学的决策依据。上述目标是相互作用、相互依赖的,通过数据库系统性能调优,可以提高数据库系统整体性能,提高资源效率,节约硬件资源,从而使业务应用更为快捷、第1 章绪论安全。l ,3 数据库系统性能调优的工具和方法目前,可用于数据库性能调优的工具有很多。例如,可用于o r a c e l 数据库性能调优的工具e n t e r p r is em a n a g e r ( 企业管理器1 组合了图形化控制台、代理、服务和工具,它包含了o r a c c l 数据库诊断包、o r a c e l 数据库调整包,对管理o r a c e l环境提供了完整的、全面的管理。数据库系统性能测评和预测是数据库系统性能调优的基础,它的作用是了解数据库系统性能状况、资源情况以及业务应用特征,为资源调整提供科学的依据。现代数据库的性能测评工具有:0 s 常用工具、数据库系统本身提供的工具以及第三方提供的工具等。它们各有各的特点:0 s 常用工具容易获得,易于掌握;但是测试内容较为宏观,不能详细反应数据库系统内部的情况。数据库系统提供的工具也容易获得、易于掌握,可以详细地从各个角度反映数据库系统的情况,但是数据较为零散,不直观,不同的数据库系统之间没有可比性。第三方工具没有前两类工具的缺点,但是往往需要支付昂贵的费用才能获得。方法的选择是性能调整成功的关键,不同的调整策略会产生不同的效益,使用效益最大的策略是非常重要的。当前使用较多的数据库性能调优方法是综合分析法。综合分析是指对数据库系统的各个部分豹性能和资源情况都进行详缨分析,提供一系列的资源配置方案。但是,数据库系统综合分析涉及数据库系统实现的核心技术,必须从数据库系统原理和实现技术出发研究相关的技术,才能从根本上解决一切与数据库性能相关的问题,使整个数据库系统的各项性能都得到大幅度的提高。1 4 当前数据库性能调优方法的分析虽然许多数据库方面的专家对数据库性能调优进行了大量的研究,并且提出第l 章绪论了许多行之有效的方法。他们得到了对单一资源进行调整的调优方法,对单一性能进行调整的调优方法,对多个资源进行联合调整的调优方法,对多个性能进行调整的调优方法以及对所有资源和性能进行综合调整的调优方法等等。但是这些研究都是面向性能调优结果的获取,而忽视了对调优过程本身效率的探讨。分析当前数据库性能调优的有关方法( 这些方法虽然行之有效的) ,普遍存在着效率不高、主观性干扰大、容易引起资源浪费等问题。出现这些问题的原因很多,主要有以下几种:1 数据库系统的资源分配和性能之间的关系,是复杂的多对多的关系,大部分的性能调控都是在没有完全理清这种关系的时候进行的,难免会出现错误的决策和调优过程。2 测试数据缺乏统一性,工具五花八门,产生的结果数据也各种各样,又没有很好的技术手段统一地处理这些测试结果数据,引起性能分析的困难。第三方的工具虽然能够很好地完成任务,但是又因为价格高昂,不容易被普通应用者所接受。3 在数据测试时,忽视可用的数据资源,重复劳动。当前的数据测试方法除了通过价格昂贵的第三方工具外,普遍没有综合利用各个流程产生的监控、测试和分析数据。当需要测试数据的时候,数据库系统管理员往往不考虑历史数据能够反映数据库系统的运行特征,仅是简单地从头开始进行测试,这样重复劳动,效率当然很低。4 对数据库系统进行综合分析需要涉及数据库内部实现技术,而这些技术又往往是不公开的商业秘密。导致绝大部分的数据库性能调优都无法进行整体综合分析,容易导致资源分配时产生片面性,顾此失彼。5 数据库系统资源调整过程没有完善有效的技术度量标准,导致资源分配调整过程个性化。调优效率决定于操作人员的经验水平,往往导致为了达到理想的性能而进行的资源调整的次数无法控制,整个调整过程人为的因素占主导。6 数据库系统资源调整必须在现场环境中反复尝试,容易重复劳动,同时也影响业务应用。7 数据库系统性能调优的没有统一的完成标志,导致决策随意,忽视资源4第1 章绪沦浪费的情况。8 数据库系统性能控制虽然在流程上有一个基本的标准,但是没有一个贯穿整个流程的统一的技术标准与值标。在不同步骤之间衔接时,容易由此引起不必要的时间和精力的浪费。技术上没有统一的度量标准、方法上没有规范的流程是制约当前数据库系统性能调控的主要因素,要提高数据库系统性能控制,特别是性能调优的效率,就必须从解决上述方面的问题出发,才能获得满意的调优效果和效率。1 5 数据库性能调优方法研究的意义目前的数据库系统性能调优往往都需要经过反复的测试、分析和资源重新分配才能完成。存在着效率较低、时间过长、影响业务系统运行、容易引起资源浪费等的问题,而且大多数的调优过程是相互独立的,没有考虑业务应用特征对数据库系统性能的影响因素【5 】。由于数据库性能调优的复杂性,许多企业简单地通过增加系统软硬资源解决数据库系统性能下降的问题,满足企业业务系统的正常运行要求。这种目前企业较普遍的做法,不仅造成资源方面的浪费,还容易影响业务系统的正常运行。究其原因,是企业缺乏合格的数据库系统管理技术人才所至。本论文研究的成果,可以降低企业数据库系统管理人才的技术要求门槛,使一般的信息技术人员能够胜任数据库性能调优的工作,为保证企业核心业务系统的稳定、可靠、不问断地运行提供技术保障。1 6 本论文的成果性能的评价与预测是数据库性能调优的基础,在不中断系统运行的情况下,可根据数据库系统运行的日志数据和应用系统的内在与外部的行为数据,本文应用数学建模的方法,首次使用人工神经网络方法,动态地对数据库系统进行性能5第l 章绪论的评估和预测,以此作为进行性能调优决策的依据。并且围绕“建立一套数据库系统性能溻优方法”的研究目标,本论文得到的研究结果如下:( 1 ) 建立一个较好的数据库系统性能评价和预测的数学模型,动态地评价和预测数据库系统的性能。( 2 ) 研究数据库性能调优的方法:多目标、多因素下的优化问题。( 3 ) 比以前的用最小二乘方法来进行数据库系统性能调优的方法收敛速度更快,误差更小。基于上述两个方面内容,用本论文的方法进行数据库性能调优思路如图1 1所示:数据库系统性能测评与预测模型数据库系统运行日志数据应用系统行为数据数据库系统性能评价与预测数据数据库系统性能调优方法数据库系统性能调优指令系列图1 1 数据库系统性能调优示意图6第2 章数据库性能分析第2 章数据库系统性能分析“系统为什么那么慢? ”肯定而权威的回答这个问题是一名d b a 应该拥有的最重要的技能之一。调整数据库性能是一项令人畏缩的任务,而大多数数据库都是具有如此可调而又如此丰富的功能,以至于了解从哪里开始调优工作,怎样进行调优工作常常十分困难h 。所以,我们有必要对数据库体系结构、数据库系统监控命令、数据库性能指标、影响数据库性能的因素有彻底的了解。2 1 数据库系统体系结构简介作为一名成功的d b a ,需要完全了解数据库的基础体系结构及其机制。在可以进行这方面的任何调整之前,理解它们的内存结构、后台进程与i o 操作之间的关系是重要的【6 1 。因为它们的体系结构决定了该数据库系统是如何使用内存、硬件和网络,以及哪个进程或程序运行在哪台机器上等,了解它们的体系结构可以帮助我们解决复杂的问题,优化数据库的性能f 7 1 。下面我们就以o f a c l e 为例简要介绍一下一般数据库的体系结构( 下页图2 1 是绝大多数机器环境下的o r a c l e 体系结构示意图) 。o r a c l es e r v e r 体系结构可以分为两个主要范畴:逻辑( 或内存) 结构和物理( 或文件) 结构。0 r a c l es e r v e r 内存结构集体地叫做0 r a c l e 实例( i n s t a n c e ) ;0 r a c l e 的物理文件结构集体地叫做o r a c l e 数据库( d a t a b a s e ) 。这两个结构合起来叫做一个0 r a c l es e r v e r ( o r a c l e 服务器) 。0 r a c l es e r v e r 实例由0 r a c l e的主内存结构( 叫做s y s t 锄g l o b a la r e a ,即s g a ) 和o r a c l e 后台进程所组成。s g a 至少有4 个组件所组成:s h a r ep o o l ( 共享池) 、d a t a b a s eb u f f e rc a c h e( 数据库缓冲区高速缓冲存储器) 、j a v ap 0 0 l ( j a v a 池) 和r e d ol o gb u f f e r( 重做日志缓冲区) 。s g a 的其它组件( 如l a r g ep o o l ( 大型池) ) 在系统上也可7第2 章数据库性能分析能存在,它们取决于用户选用了哪些可选的功能。o r a c l e 后台进程至少包括s y s t e mm o n i t o r ( s n ,系统监视程序) 、p r o c e s sm o n i t o r ( p m o n ,进程监视程序) 、d a t a b a s ew r i t e r ( d b w o ,数据库写入程序) 、l o gw r i t e r ( l g w r ,日志写入程序) 和c h e c k p o i n tp r o c e s s ( c k p t ,检查点进程) 。其它的几个o r a c a l后台进程也可能运行在系统上,比如r e c o v e r e r ( r e c 0 ,恢复进程) 等“。d a t a b a s e f n e sc 。n l r o lf i l 郫p a 煳e l 玎r e d 。l o gf 1 1 既图2 1o r a d e 的体系结构示意图2 1 10 r a c l e 的系统全局区s g a0 r a c k 共享的内存区就是0 r a c l e 的s g 气s g a 存放数据库中所有用户进程对数据库访问的共同信息,s g a 本身主要有三部分组成:数据库缓冲区、共享缓冲池区和r e d 0 缓冲区。数据库缓冲区用于存放最近从磁盘读取的数据块,它也用来存放尚未存入磁第2 章数据库性能分析盘的修改。初始化参数文件i n l to r a 中的d b - b l o c k _ b u t s 参数决定了数据库缓冲区的大小。可以查看v s s y s s t a t 来计算数据库缓冲区命中率。数据库缓冲区命中率高低依赖于系统环境、优化目标等。数据库缓冲区命中率应尽可能高,应在8 0 以上,如果其命中率较低,就应调高参数文件中d b b l o c k - b u 虢r s 的设置。共享缓冲池区用于存放s q l 、p u s q l 包和过程,以及锁、数据字典、游标等信息的内存区,初始化i n i to r a 文件中的s h a f e d p 0 0 l s 协参数决定了共享缓冲池区的大小。查看v s u b r a r y a c a c h e 可以了解s q l 、p u s q l 信息的命中率。r e d o 缓冲区中保存写入到r e d o 日志文件前的所有r c d o 信息。初始化文件i m to r a 中的l o g b u 虢r 参数决定了r e d o 缓冲区的大小。可以查看v s s y s s t a t 来计算r c d o 缓冲区的空间请求次数。2 1 20 r a c l e 的系统后台进程o r a c l e 数据库有四个基本后台进程,它们分别是:d b w r 、s m o n 、p m o n 、l g w r 。其中d b w r 负责将d a t a b a s e b u 船r c a t d s g a 内存) 中被修改过的数据块写到d a t a b a s e f i l e s ( 硬盘) 中;s m o n 、p m o n 则分别是o r a c k 数据库对系统( s y s t e m )和进程( p m c c s s ) 进行监控、修复的两个守护进程;l g w r 负责将数据库产生的目志文件定期写到r e d o l 0 鲷l e s 中。o r a c l e 数据库还有其他可选的进程,主要有:a r c h 进程,当我们将数据库设! 酉! 为归档模式时,此进程即处于激活状态,负责将写满的r e d o l o g 日志写到指定的设备上;c ) t 进程,当我们设置了c h e c k p o i n t 点时,该进程即处于激活状态,它要求一到该c h e c k p o i n t 点,d b w r 进程即执行一次;当o n c l e 数据库运行了d i s t r i b u t e 选件时,r e c o 进程即处于激活状态。2 1 30 r a c l e 的用户进程用户进程就是前端程序,用户通过它与数据库相连。如果没有采用c l i e 曲k r v e r 配置,用户进程与数据库服务器运行在同一台机器上,使用该机器的c p u 和内存。如果配置成c l i e m 舡r v e r 结构或三层结构,用户进程则运行在客户机上,只有在需要时才与数据库服务器通信。9第2 章数据库性能分析2 1 4o r a c l e 数据库的物理结构和逻辑结构o r a c l e 数据库的物理结构从操作系统一级查看,就是由一个个的文件组成,从物理上可划分为:数据文件、日志文件、控制文件和参数文件。数据文件中存放了所有的数据信息;日志文件存放数据库运行期间产生的日志信息,它被重复覆盖使用,若不采用归档方式的话,已被覆盖的日志信息将无法恢复;控制文件记录了整个数据库的关键结构信息,它若被破坏,整个数据库将无法工作和恢复;参数文件中设置了很多o r a c l e 数据库的配置参数,当数据库启动时,会读取这些信息。0 r a c l e 数据库的逻辑结构则是由些数据库对象组成,这也是数据库管理员和应用开发人员经常用到和查看的逻辑对象,如:数据库表空间、表、索引、段、视图、存储过程、触发器等。数据库的逻辑存储结构( 表空间等) 决定了数据库的物理空间是如何被使用的,其关系示意图如图2 2 所示f 7 】。图2 2 数据库的表空闻和数据文件示意图简单描述它们之间的关系是这样的,o r a c l e 数据库的表空间由若干操作系统一级的物理文件组成,而一些数据库对象,如表、索引等就分别分布在各个表空间中。2 2 数据库系统性能指标第2 章数据库性能分析只有对数据库性能指标完全了解,才能对数据库进行全面的性能检测,也才能发现影响系统性能的因素和瓶颈,才能针对瓶颈因素,采取切合实际的策略,解决问题,提高系统的性能吲。下面简要介绍衡量数据库系统性能的三项主要指标,也是本文所要重点关注的数据库系统性能的三项指标。2 2 1 事务的响应时间事务的响应时间是指从数据库应用用户发出数据检索、查询、修改或其它数据操作,到该命令经过数据库系统的处理后得到结果反馈给用户所需要的时间,在系统负载为最小、平均和最大时关键事务类型开始返回结果所花费的时间。因此,数据库系统的响应时间等于服务时间加上等待时间。数据库系统响应时间的快慢,直接体现了数据库的性能。一般说来,应用做出反应的时间和应用占用的运行时间以亚秒、毫秒或秒表示,越低越好。2 2 2 数据批处理能力数据批处理能力也就是吞吐量,吞吐量是指在给定的时间周期内服务器处理的数据数量,每个单位时间读出或写入的块的数量。例如,每秒钟处理的事务量的多少和高低。如果吞吐量高,那么系统的性能好;如果吞吐量低,那么系统的性能比较差嘲。在任何一个系统中,吞吐量和响应时间作为调整目标通常是相互对立的。如果响应时间长( 坏) ,吞吐量或许高( 好) ;如果吞吐量低( 坏) ,相应时间或许低( 好) 。常识有助于挑选出这两个冲突的度量标准。一般说来,依赖于应用的要求,o u t 系统需要更低的相应时间或更高的吞吐量,d s s 希望低的相应时间。然而,d s s 也可能希望得到高的吞吐量。这种类型的吞吐量不一定对高并发性和低反应时间起反作用”。2 2 3 并发性能第2 章数据库性能分析并发性能是要求数据库系统能够在同一一时间内支持更多的用户访问数据。如果数据库系统过度的增加并发用户的数量,其响应速度和批量数据处理能力的必然会下降,甚至还会出现资源不足导致数据库系统崩溃。多数的并发用户在一定时间内使用一个系统,每个用户可能比平时要经历更长的延迟,但是通过系统的事务数量将会更大。相反,假如您减少在某一个时间窗l = _ | 中访问系统的并发用户数量,以在该时间内完成的全部事务量减少为代价,每个用户将会享受到更快的反应时间1 9 j 。2 3 影响数据库系统性能的主要因素影响数据库性能的主要因素有硬盘i o 、c p u 、内存、网络、应用程序系统结构以及应用类别等等。其中,硬盘i o 则是制约数据库系统的最主要因素之一,数据库系统的性能往往会被硬盘读写速度所左右,影响数据库系统响应时间的最大的单独组成部分就是硬盘i o 。c p u 是计算机处理的核心,其重要性不言而喻,分析c p u 的性能,可以通过分析c p u 的不同状态所占的比例来进行。一般说来,在峰值工作量时,9 0 的c p u 利用率和1 0 的空闲等待时间是可以理解和接受的;在低工作量时,3 0 利用率是可以理解的呷】。内存和交换区进行数据的交换,读数据时,磁盘i o 必须等待物理i o 操作完成,在出现磁盘瓶颈时,我们第一个要考虑的是增加内存【l l 】,内存的性能对数据库系统的整体性能起了绝对的作用,数据库系统性能调优,5 0 以上的工作是针对内存性能的h 。网络是数据库系统运行的外部环境,网络的约束类似于i o 约束,其影响因素有网络带宽、消息比率和传输时间【1 0 】。数据库性能改善,8 0 以上来自于应用程序结构的改造1 4 】。但是由于时间、资源等限制,除特殊情况外,一般不会大幅度地通过调整应用程序结构来优化系统性能。所以,应用程序结构对数据库系统的性能影响虽然最为重要,却不是数据库系统性能调优时所重点关注、处理的方面吲。第2 章数据库性能分析2 4 数据库系统性能调优的基础性能测试与分析2 4 1 数据库系统监控命令数据库系统监控命令用于监控数据库性能和决定数据库的需求。除了为数据库进程提供统计外,它们还为c p u 提供使用统计,为整个系统提供中断、交换、分页和上下文转换功能【1 2 j 。下以o f a c l c 数据库系统监控命令为例介绍几个数据库系统监控命令:( 1 ) v m s t a tv m s t a t 命令报告s o l a r i s 上的进程、虚拟内存、磁盘、分页和c p u 的活动情况。下面命令将显示系统每5 秒钟做的事的概要:v f 【i s t a t5( 2 ) s a rs a r 命令用于监控交换、分页、磁盘和c p u 活动,它负责查看系统各种性能,通常有以下几种:一u 报告c p u 的利用情况:一b 报告磁盘缓冲区和高速缓存的访问状况:一d 报告磁盘驱动器的使用情况:例如:s a r u23 ( 每两秒取1 次,共取3 次) 返回:h p u xw gq1b 1 1 o ou9 0 0 0 8 0 0l o 1 4 0 3l o :2 0 :2 l u sr sy s 们o i d l e1 0 :2 0 :2 31 0338 4l o :2 0 :2 51 5408 ll o :2 0 :2 71 9927 0a v e r a g e1 5527 8这一步骤主要检查系统的i o 是否存在问题。如果w i o 列的a v e r a g e 超过第2 章数据库性能分析3 0 ,说明0 r a c l e 系统的i 0 肯定存在问题,或者是在做比较大的操作。( 3 ) i o s t a ti o s t a t 命令报告终端和磁盘的活动。该报告显示哪些磁盘是忙的( 该信息在平衡i o 负载时有用) 。下面命令用于每5 秒显示5 次终端和磁盘活动:$ i o s t a t55( 4 ) s w a ds w a p 命令报告关于交换空间使用的信息。交换空间的不足可以导致系统悬挂,减慢响应时间。( 5 ) m p s t a tm p s t a t 命令报告每个处理器的统计。2 4 2 数据库系统监控的要求对数据库性能监控是有条件的,在对数据库进行监控时必须做到以下几点:( 1 ) 准实时的监控性能对于生产系统出现的性能问题,通常需要在一个较短的时间内做精细力度的性能观察,以确定产生问题的根本原因。这要求性能量度指标的采样是以亚秒级的时间间隔来计算的。由于数据库性能信息是以亚秒级的速度不断变化的,因此,如果您要真正理解性能问题,就需要一种能以亚秒级的时间间隔进行采样的工具,它是一种有效的需求】。( 2 ) 以较低的性能影响来监控性能要在不影响性能的情况下监控数据库是不可能的。但是我们在监控数据库性能的时候,还是要求要对数据库系统有尽可能低的影响。总之,我们要以亚秒级的时间间隔来监控性能,同时要求这种监控应该具有足够低的性能影响,从而不会导致整个数据库性能的明显下降,这也是一种有效的需求。( 3 ) 随时收集性能信息任何收集性能信息的工具都需要能无时无刻的收集信息,而且这种活动除了最初的启动,是不需要人工干涉和管理的。如果数据库因为某种原因崩溃了,那么收集活动应该能够在数据库重新正常运行时自动重新开始。你肯定不想在用户1 4第2 章数据库性能分析遭遇性能问题的时候,手头缺少可用的性能信息】。2 4 3 性能监控和性能测试性能监控可以通过以上所列数据库系统监控命令进行。此外,也可以通过操作系统的一些工具检查系统的状态,比如c p u 、内存、交换、磁盘的利用率,还可以根据经验或与系统正常时的状态相比对来发现性能问题,例如有时系统表面上看起来空闲这也可能不是一个正常的状态,因为c p u 可能正等待i o 的完成【1 7 】。性能测试可以抽取反映数据库系统性能状况的数据,为数据库性能分析服务。数据库系统性能测试的方法很多,可以按照不同的角度进行分类,按测试目标来区分分为:对数据库性能的测试、对数据资源占用情况的测试以及对业务应用特征的测试;按数据抽取场所来分分为:现场测试与模拟测试;按是否加载测试数据来分分为:加载数据测试和非加载数据测试;按测试抽取数据的时间特征来分分为:持续性数据测试和抽样数据测试。对于某一个具体的情况,选择什么方式进行性能测试,要根据具体的资源情况以及业务要求来进行选择。2 4 4 性能分析数据库系统的性能分析是对通过各种数据库性能测试手段而产生的结果数据进行分析,深入了解数据库系统的性能状况和资源分配情况,为下一步变更资源分配或作出停止性能调整的抉择提供依据【4 】。此夕 ,在分析数据库的性能时,也可用一些数据库系统本身提供的性能调优工具,例如数据库系统内置诊断引擎“数据库自动诊断监视程序”( a u t o m a t i cd a t a b a s ed i a g n o s t i cm o n i t o r ,a d d m ) ,a d d m 可以定期( 默认情况下是每小时一次) 自动分析数据库的性能,并鉴别所有的性能问题【曲】。表2 1 给出了数据库系统中最常用的几个系统存储过程:表2 1 数据库系统存储性能列表存储过程名称主要功能第2 章数据库性能分析s ds y s m o n口企业级系统性能报告工具s dl o c k查看锁的情况s dw h o渣看线程的活动情况s pp r o c q m o d e海储过程的查询处理模式s dc o n f i 黜r e窥置s q ls e r v e r 系统级参数s pe s t s p a c e 估计创建一个表需要的空间和时间s ps p a c e u s e dl 估计表的总行数及表和索引占用的空间s dm o n i t o r滥视c p u ,i o 的统计活动情况、另外,为了对数据库性能进行调整分析,需要十分清楚数据库存储数据的底层细节,如数据页、索引页的物理结构、每一行的大小计算、不同类型列占用的宽度等问题,只有具备了这些知识,才能深入领会各种调优措施。表2 2 给出了o s 的参数设霞及说明,d b a 可以根据实际需要对这些参数进行设置”1 。表2 - 2 0 s 内核参数列表内核参数名说明对b u f f e r 空间不按静态分配,采用动态分配,使b u f p a g e s 值。1 6第2 章数据库性能分析提高了不可锁内存的大小,使可用于换页和交换的内存空间扩u n l o c k a b l e m e m1 人,用以满足系统对内存管理的要求。2 5 数据库系统性能调优的步骤( 1 ) 制定清晰的性能目标,确定需要最佳性能的关键性事务或操作。( 2 ) 存档当前可用的硬件、软件和网络资源。( 3 ) 通过一个或多个监控工具来监控资源利用和事务或操作的性能。( 4 ) 通过数学建模的方法,建立影响数据库性能的因素与数据库性能之间的函数关系。( 5 ) 根据目标性能决定调整数据库系统的相应部分。第3 章人丁神经网络第3 章人工神经网络3 1 人工神经网络的理论基础人工神经网络的研究源于脑神经元学说。神经系统由神经元和神经胶质细胞两大类细胞所组成。神经元是神经系统内直接从事信息的接收或产生信息、传递和处理信息工作的神经细胞,正是这数以百亿计的神经元组成了各种神经网络和脑,并完成了脑的基本功能。人的大脑是由大约10 1 1 10 1 2 个神经元组成,每一个神经元有10 l 1 盯个突触;神经胶质细胞及其突起充满神经元的大部分空间,既可起绝缘作用,又为神经元提供一种结构上的框架,并协助调解细胞间隙中离子和其他物质的水平,他们在神经系统的营养、再生、发育、化学物质的摄取、分泌和转运等方面起重要作用,而神经胶质细胞是维持神经系统正常功能所必不可少的。典型的神经元有细胞体、树突和轴突所组成。细胞体是神经元的控制中心,它可以响应并解释来自各个树突的信息,然后通过轴突输出信息;树突是神经元的信息接受器,它接受并解释来自别的细胞轴突的化学信息,这些化学信息,或刺激( 激励) 、或抑制一个树突,一旦树突接受了一定的信息组合,它就向细胞体发出信号;轴突是神经元信息的传送者,它把称之为动作电位的信号传送出去,解放化学物质或抑制相邻神经元的的树突,一个神经元的轴突可以分支延伸,与数百个别的神经元以及不同类型的的神经元的连接状态也不同阱l 。神经元有着相似的结构:每个细胞体有大量的树突( 即输入端) 和轴突f 即输出端) ,不同的神经元的轴突与树突互联( 结合部) 即为突触,它决定了神经元之间的连接强度和作用性质,而每个神经元细胞体本身则是一个非线性输入输出单元。神经元的兴奋和抑制可表现为两种基本形式的电位:分级电位( 模量) 和动作电位( 数字量) 。分级电位在感觉感受器和神经元树突中产生,他们1 8第3 章人t 神经网络通常持续的呈现于整个兴奋或抑制时间内。兴奋时,膜电位从静息电位向正偏移;抑制时,膜电位从静息电位向负偏移;静息时神经元的细胞膜内外存在一个内负外正的电位差,称为静息电位,正常的静息电位约7 0 i i l v ,这是细胞膜处于极化状态。由此可见,在给定时刻,神经元总是处于下列三种状态之一:静息、兴奋和抑制。两个神经元间进行信息传递的部位称为突触,突触是组成神经网络的神经元功能接触的部位,按突触传递信息的机制性质分类,可分为两大类:大多数突触是化学突触,少数是电突触。按神经元间在突出连接的部位不同,突触又可分为:轴一树型、轴一体( 细胞体) 型、轴一轴型和树一树型等多种形式,这些多种多样的连接方式和不同的化学递质机制,为神经系统特别是脑在处理复杂的、多重的神经信息提供了最好的活动舞台。神经网络中神经元问的连接方式或最常见的是会聚、辐射和反馈。一个神经元可以接收几个到几千个别的细胞的突触输入,形成会聚。一个神经元也可给许多别的细胞发出轴突分枝,形成辐散。某一个神经元的输出,可经过一些其他细胞组成的回路,又返回输入到自身,形成各种形式的反馈回路,而这些反馈往往又是抑制性的突触联结,使得脑对感觉和控制功能更为精确可靠f 2 4 。3 2 人工神经网络模型3 2 1 模型的概念要研究神经网络系统的信息处理问题,模型的研究是最为重要的工作,是神经网络、神经计算机应用的前提。“模型”概念在控制论的方法论中占有突出的地位,它是建立在一些物体之间具有“相似性”这一事实的基础上。建立性质相似于所研究的现象的模型,实质上是以或显或隐的形式,引入所有的科学分支中。模型概念的基础在于,模型本身与某一对象之间存在着某种相似性。这里“相似性”一词是非常广义的,它可以是纯粹外表上的相似,也可以是内部结构上相似1 9第3 章人工神经网络而外表方面却不相同,也可以是他们的行为具有某些共同特征,而其外表与内部结构上毫无共同之处。如果在两个对象之间具有某种相似性,那么我们就可以说其中之一是另一个的“原型”,而后者是前者的“模型”。对于我们来说,重要的是从信息的角度出发来研究系统的行为和功能,而撇开它们的其他性质不管。因此,重要的是从行为或功能的观点来研究不同系统的相似性。由于生物体的极端复杂性,因此我们常常把它们作为原型,而建立一个和它在物理、化学本质_ 匕极不相同,只是在行为上表现出某种相似性的模型。这样,我们就可以通过对模型的研究来研究生物原型的某些功能,从而使问题简化并易于着手研究。此外,由于生物体中内在机制的复杂性,很可能有许多我们暂时还不清楚的地方,对此我们可以相应地在模型中导入各种假设,而把结果与实验进行对比,从而有助于进一步理解其内在机制。因此我们可以说,模型的方法或者说模拟的方法是生物控制论中最基本的一种研究方法【2 5 】。3 2 2 神经网络的形式化描述口6神经网络系统是由大量的、同时也是很简单的处理单元( 或称神经元) 广泛地互相连接而成的复杂网络系统。它反映了人脑功能的许多基本特性,但它并不是人脑神经网络系统的真实写照,而只是对其作某种简化、抽象和模拟。一般认为,神经网络系统是一个高度复杂的非线性动力学系统。虽然每个神经元的结构和功能十分简单,但由大量神经元构成的网络系统的行为却是丰富多彩和十分复杂的。在研究方法上强调综合而不是分解,因为分解这一步工作已基本完成,即可将神经网络分解为极简单的神经元以及神经元之间的相互连接。神经网络系统具有一般非线性系统的共性,更主要的是它还具有自己的特点,比如高维性、神经元之间的广泛互连性以及自适应性或自组织性等。在神经网络中发生的动力学过程有两类:一类称之为快过程;另一类称之为慢过程。所谓快过程,即是神经网络计算过程,它是神经网络的活跃状态的模式变换过程。神经网络在输入的影响下进入一定的状态,由于神经元之间相互联系以及神经元本身的动力学性质,这种外界刺激的兴奋模式会迅速地演变而进入平衡状态。这样,具有特定结构的神经网络就可以定义一类模式变换,而计算( 知觉) 过程就2 0第3 章人工神经刚络是通过这类模式变换而实现的。神经网络只有通过学习才能逐步具有上述模式变换的能力,神经网络的学习过程即为慢过程。在该动力学过程中,神经元之间的连接强度将根据环境信息发生缓慢的变化。将环境信息逐步存储于神经网络中,这种由于连接强度的变化而形成的记忆是长久的,称之为长期记忆。慢过程的目标不是寻求某个平衡态,而是希望形成一个具有一定结构的自组织系统,这个自组织神经网络与环境的交互作用,把环境的统计规律反映到自身结构上来,即通过与外界环境的相互作用,从外界环境中获取知识。比如联想记忆的建立是一个学习的模式长期保存下来,而其存取则是一个快过程,它是改变连接强度,再把外界环境提供的模式( 或刺激) 记下来,这个刺激被系统很快地演变到平衡态,因而对这个刺激的记忆是短暂的。对于快过程与慢过程的不同处理方法便形成了神经网络理论研究的两种模式,即所谓的学习神经网络模式和自组织模式。学习神经网络模式的一个主要特点是把慢过程与快过程分离开。该模式把快过程看作是一个自治的动力学过程,而慢过程则是一个外加的对神经网络的连接强度进行系统调整的过程。神经网络的连接强度只是一个动力学系统的变量,很显然,这种方法是无法实现“干中学,学中干”的。与之不同的是自组织模式。这种方法则是把慢过程看作是与快过程同时进行而又相互影响的一个自组织过程。它把神经网络的连接强度也看作为动力学系统的变量而不是参数,它不需要外加在系统之上的调整连接强度的学习算法。而是建立一个统一的自治动力学系统,使得学习与自适应可以自发地进行。即在与外界环境的不断相互作用中达到自组织,因此而积累知识和经验。更为有意义的是,通过这种自组织,系统可以不断地修正自己的知识,修正神经网络中的知识编码。显然,这种系统可以实现“干中学,学中干”。3 2 3 神经网络基本模型神经网络是由大量简单处理单元组成,通过可变权值连接而成的并行分布式系统。神经网络的基本处理单元处理单元,它是一个多输入,单输出的非线性器件,其结构如图3 1 所示。第3 章人t 神经网络图3 l 神经兀模型结构示意图在图3 - 1 中,薯为输入信号,皑,表示从第i 个神经元到第j 个神经元的连接权值,毋,为第j 个神经元的阂值。设s ,为外部输入信号,咒为输出信号,在上述模型中第j 个神经元的变换可描述为y - ,( 啉一嘭+ s ,)这里采用的非线性函数f ( x ) 可以是阶跃函数、分段函数及s 远m o i d 型函数。人工神经网络的处理单元间相互连接,所有的连接构成一有向图。每一连接对应于一个实数,称为连接权值,或称为权重。权值的集合可看做是长期记忆。我们可以用权矩阵来表示网络中的连接模式,中的元素是。连接权值的类型一般分为激发和抑制形式,正的权值表示激发连接,相反,负的连接权值表示抑制连接。连接权值的连接方式是人工神经网络的特征描述。在时刻t ,每一个神经元都有一个实数值,称为神经元状态,也口q 做神经元的激励值,用x ,表示神经元h ,的状态,用x ( t ) 表示神经网络的状态空间。在各种不同的神经网类型中,状态空间可以作各种不同的假设。状态空间可能是连续的,也可能是离散的;可能是有界的,也可能是无界的;可能在一个实数区间上取值,也可能取有限值;最常见的情形是取二值,即0 和1 两种状态,或一1 和1两种状态,亦或是取连续实数值。对于每一个神经元,都有一个输出,并通过连接权值将输出传送给其相连的处理单元,输出信号直接依赖于处理单元的状态或激励值。这种依赖性通过输出变换函数元对于处理单元“,的作用来表示。假如我们用z ,o ) 来定义t 时刻神经第3 章人工神经网络元

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论