(计算机软件与理论专业论文)基于电力负荷管理系统的数据库性能改善.pdf_第1页
(计算机软件与理论专业论文)基于电力负荷管理系统的数据库性能改善.pdf_第2页
(计算机软件与理论专业论文)基于电力负荷管理系统的数据库性能改善.pdf_第3页
(计算机软件与理论专业论文)基于电力负荷管理系统的数据库性能改善.pdf_第4页
(计算机软件与理论专业论文)基于电力负荷管理系统的数据库性能改善.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机软件与理论专业论文)基于电力负荷管理系统的数据库性能改善.pdf.pdf 免费下载

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

文档简介

郑州大学硕士学位论文 摘要 随着现代信息应用系统信息量的增大,数据库己逐步成为计算机信息系统和 计算机应用系统的基础和核心。对于大多数数据库应用系统而言,在运行一段时 间后,系统的整体性能会下降,主要是由数据库、应用程序、数据库服务器等方 面设计和实施不合理所导致。因此,对数据库性能进行合理的优化和调整可以节 约系统的运行成本、保障数据库稳定运行、提高系统的运行效率;对于整个系统 的正常运行起着至关重要的作用。 本文主要从数据库设计调整、客户端应用程序调整、优化服务器性能等方面 阐述如何改善平高集团智能电器有限公司的t y - e i m 电力负荷管理系统的数据 库性能。由于变电站信息数据的不断上涨导致原系统运行过程中数据量急剧膨 胀,造成了系统性能的严重下降,出现了无法忍受的长时间查询等待的现象。因 此在本系统中做出了如下调整:运用数据库反规范化设计,适当增加冗余列,减 少了表的数量和查询连接,提高了查询速度;合理利用索引、s q l 查询优化、 引入存储过程,优化了查询路径,提高了查询效率;通过对应用程序的调整,加 快了程序运行速度,提高了代码质量;调整s o ls e r v e r 数据库和服务器操作系 统的参数,解决了硬件瓶颈问题、有效降低了运行时系统的资源开销、节约了系 统的运行成本。 通过对调整后的系统进行测试,结果发现历史查询y m j 型密度继电器7 天 的数据信息( 2 0 1 6 0 条记录) 的响应时间由原来近4 0 秒降低到了1 0 秒多,系统客 户端查询速度得到了明显的提高;服务器端数据库运行的资源占用率的平均值由 原来的7 5 下降到5 5 ,达到了稳定运行的标准。系统的综合性能得到了明显 的提升。 关键词:数据库性能调整数据库性能优化查询优化 郑州大学硕士学位论义 a b s t r a c t a l o n gw i t ht h ei n f o r m a t i o na c c r e t i o no fm o d e mi n f o r m a t i o na p p l i c a t i o ns y s t e m ,d a t a b a s eh a s b e e nt h eb a s i sa n dc o r eo fc o m p u t e ri n f o r m a t i o ns y s t e m a n dc o m p u t e ra p p l i c a t i o ns y s t e m f o r m a j o r i t yo f d a t a b a s ea p p l i c a t i o n s ,t h es y s t e mp e r f o r m a n c es h a hd e s c e n da f t e rr u n n i n gf o rap e r i o d i t m a i n l yr e s u l t s i nd a t a b a s ed e s i g n , a p p l i c a t i o n ,d a t a b a s es e r v e re t c s ot h et u n i n ga n d o p t i m i z i n gb a s e do i ld a t a b a s es y s t e mc a ne c o n o m i z et h ec o s to fs y s t e mr u n n i n g , e n s u r et h e d a t a b a s er u n n i n gs t a b l y , e n h a n c et h er u n n i n ge f f i c i e n c yo ft h es y s t e ma n di se x t r e m e l yi m p o r t a n t t ot h er e g u l a rr u n n i n go ft h ew h o l es y s t e m t h i st o p i ci sm a i n l ye x p a t i a t i n gt h ea p p l i c a t i o no fd a t a b a s ep e r f o r m a n c et u n i n gi nt h e u p g r a d ep r o j e c tt y - e i me l e c t r i cp o w e rl o a dc o n t r o ls y s t e mb e l o n g e dt op i n g g a og r o u p sf r o m t h e s ea s p e c t s :d a t a b a s ed e s i g nt o n i n g ,c l i e n ta p p l i c a t i o nt u n i n ga n ds e r v e rp e r f o r m a n c et o n i n ge t e w i t ht h et r a n s a c t i o nq u a n t i t yi n c r e a s i n g ,d a t ae x p a n d i n gr a p i d l y , s y s t e mp e r f o r m a n c ed e c r e a s i n g , i ti sn o te n d u r a b l ef o ral o n gt i m et oq u e r y f o rt h e s er e a s o n s ,t h i ss y s t e mm a k e st h e s et n n i n g s : u s i n gd a t a b a s eo p p o s i t es t a n d a r d i z a t i o n ,i n c r e a s i n gr e d u n d a n c yr o w i tc a nd e c r e a s et h en u m b e ro f t a b l e sa n dt h eq u e r yc o n n e c t i o n ,i m p r o v eq u e r ys p e e d b yu s i n gr e a s o n a b l ei n d e x ,s q lq u e r y o p t i m i z ea n ds t o r e dp r o c e d u r e ,i tc a no p t i m i z et h eq u e r yp a t h ,e n h a n c eq u e r ye f f i c i e n c y b yt u n i n g t h ea p p l i c a t i o ni tc a na v o i dag r e a to fl o we f f i c i e n c yn e s t i n gq u e r y , e n s u r ed a t a b a s es y s t e m r u n n i n gh i g he f f i c i e n t l y , r e m o v eb o t t l en e c k sa n ds a v es y s t e mr e c e s s a f t e rt e s t i n gt h et o n e ds y s t e m , t h eq u e r ys p e e do nc l i e n th a sb e e ne n h a n c e de v i d e n t l yi n t y - e i me l e c t r i cp o w e rl o a dc o n t r o ls y s t e m , t h eq u e r yr e s p o n d i n gt i m e re d u c e df r o m4 0s e c o n d s t o1 0s e c o n d sp e r2 1 0 6 0l i n e s i na d d i t i o n t h ea v e r a g eo fr e s o u r c ee n g r o s sr a t ei nd a t a b a s es e r v e r r e d u c ef r o m7 5 t o5 5 ,i ti su pt ot h es t a b l es t a n d a r da n dt h es y s t e mi n t e g r a t e dp e r f o r m a n c e e n h a n c e de v i d e n t l y k e yw o r d s :d a t a b a s et u n i n g , d a t a b a s eo p t i m i z i n g ,q u e r yo p t i m i z i n g h 郑重声明 本人的学位论文是在导师指导下独立撰写并完成的,学位论文没 有剽窃、抄袭等违反学术道德、学术规范的侵权行为,否则,本人愿 意承担由此产生的一切法律责任和法律后果,特此郑重声明。 学位论文作者( 签名) 螽溆彩 2 0 0 6 年,月孑日 郑州大学硕士学位论文 1 1 研究背景和意义 第一章绪论 以计算机网络和数据库技术为基础的各种信息应用系统己成为当今信息社 会运行的基础。由于数据库应用系统所涉业务不断发展,使用数据库的用户不断 增加,用户处理吞吐量大,网络通信繁忙,数据库海量存储的迅速增长,从而使 数据库的性能问题变得愈加突出【1 1 。 关于数据库性能( d a t a b a s ep e r f o r m a n c e ) f 司题的讨论比较多。许多研究机构对 数据库硬件性能和数据库系统技术做了大量基础性的研究,主要服务器和数据库 企业都出版了相关数据库性能问题的专论1 2 1 。 在2 0 世纪7 0 年代,美国的t o n yd a t a g h e r y t 提出了数据库性能优化 ( ( p e r f o r m a n c eo p t i m i z a t i o n ) 的概念,不仅对于数据库应用系统的研究起了重要作 用,而且对于数据库性能问题的研究也起了开创性的作用;到2 0 世纪8 0 年代, p e r f o r m a n c et u n i n gb a s i c s 中提出了“性能调整( p e r f o r m a n c et u n i 日i g ) ”的概念, 论及性能调整是一项通过修改系统参数、改变系统配置( 硬件调整1 、优化组件应 用来改变系统性能的活动。对此,m ss q ls e r v e r 、o r a c l e 等数据库业界制造商 通常认为性能调整的目的是通过将网络流通、磁盘i o 和c p u 时间减到最小, 使每个查询的响应时间最短并最大限度地提高整个数据库服务器的吞吐量。 近年来在数据库性能调整理论研究方面,针对基于数据库应用系统遇到的问 题和数据库w e b 应用的需求,国内外研究机构公司提出来许多数据库性能调整 的理论、原型( ( p r o t o t y p e ) 和商用系统。有的研究机构提出了一种基于w e b 数据 库系统设计来实现性能调优的新方法,该方法包括由r d b m s 配置优化、应用模 式设计优化和编程优化。通过内存、分段、磁盘参数和时间相关参数的优化可设 置一个好的r d b m s 运行环境。在编程时通过减少与后台连接和断开操作,建立 和使用索引、多用存储过程和优化s q l 语句可以优化系统性能;在应用设计时, 通过优化应用逻辑和降低规范化可以大大地改善系统性能。也有研究提到应用系 统的开发不仅以追求系统性能为主要目的,还应强调功能的完整性、系统结构的 清晰并具有良好的可扩展性和可维护性,同时兼顾快速的系统响应速度。 郑州人学硕士学位论文 在硬件调整方面,绝大多数高性能解决方案都采用共享存储器簇结构,在这 种结构中,多个服务器都连到外部的r a i d 子系统上。而也有研究提出了低成本 的解决方案,例如在两个完全独立系统之间通过t c p i p 协议实现磁盘数据复制 的高性能系统。 在数据库性能调整理论研究方面:m i t 的i r e n eg r i e f 认为,随着数据库规模 的扩大和系统中用户数目的增加,内部竞争的复杂性也逐渐增大,因此导致了数 据库性能问题,按照投资优化策略( r o i ) ,提出了1 0 个步骤解决数据库性能问题: ( 1 ) 进行正确的数据库逻辑设计减少存储量; ( 2 ) 进行正确的数据库物理设计减少多个软件竞争同一资源; ( 3 ) 选择高效算法编写有效的应用程序; ( 4 ) 优化数据库内存结构; ( 5 ) 必要时优化内存结构; ( 6 ) 必要时优化数据库; ( 7 ) 必要时优化o s ; ( 8 ) 必要时优化网络; ( 9 ) 必要时优化客户机; ( 1 0 ) 必要时优化i o 。 在数据库性能优化工具方面,可以分为数据库产品自带的性能优化与监测工 具以及专有的性能优化工具两类。数据库产品自带的性能优化与监测工具有 o r a c l e 的数据库在线数据字典;s q l 语言跟踪工具( s q lt r a c ef a c i l i t y ) 和e x p l a i n :s y b a s e 的s y b a s ea d a p t i v es e r v e re n t e r p r i s e 和查询分析器;s q l s e r v e r2 0 0 0 提供企业管理器、查询分析器、s o lp r o f i l e r 、i n d e xt u n i n gw i z a r d 等工具,可以管理和配置s q ls e r v e r 设计和测试查询以检索数据、提供诊断信 息、备份和恢复数据库。 在数据库性能调整和优化技术的发展中,人们认识到数据库的性能调整技术 是保障应用系统和数据库稳定、高效运行的一项重要技术。微软的m ss o ls e r v e r 自1 9 8 9 年推出后,稳步地从桌面发展到工作组并快速普及,其对性能调整和优 化的研究尤为深入,特别是针对s q ls e r v e r 自身的特点,在数据库服务器调整 方法、大小估计与容量规划、应用调整等方面提出了较好的理论和实践方法。本 2 郑州大学硕上学位论文 文将结合一个应用实例_ t y - e i m 电力负荷管理系统,讨论关于s q l s e r v e r 数 据库性能调整的一般方法和措施,希望能为理论研究提供一定的实践方法支持。 1 2 研究内容 随着现代计算机科学技术的发展和信息应用系统信息量的增大,数据库已逐 步成为计算机信息系统和计算机应用系统的基础和核心,而数据库性能问题的重 要性也越来越引起人们的关注。平高集团电器智能有限公司为了改善原有电力负 荷管理系统的性能,满足不断增长的客户需求,提高企业的行业竞争能力和服务 质量,充分共享企业内外基础信息,使客户获取信息更及时便捷,该公司研发部 与郑州大学研究生院合作对系统进行系统升级。其中郑州大学研究生院主要负责 电力负荷管理系统客户端应用程序更新和系统数据库服务器升级这两个部分。 本次t y - e i m 项目是基于c s 模式的数据库应用系统。整个系统是通过客户 端的应用程序与s q l s e r v e r 数据库服务相联系,来进行数据库系统的各种操作, 实现应用功能。系统的性能受多方面影响,如网络瓶颈、加、用户响应等,但 最核心的问题还是涉及数据库性能的问题。这样就提出了基于s q ls e r v e r 数据 库应用系统如何进行改善性能的问题。 本人参与了此次升级项目、客户端应用程序的改造与数据库系统分析优化。 同时,以此项目为背景对整个系统特别是数据库系统的性能改善做了研究,并把 性能改善的一些具体措施和方法应用在子系统的设计和应用过程中。整个应用实 例以m i c r o s o f t s q l s e r v e r 2 0 0 0 数据库为基础,主要研究了以下实用技术: ( 1 ) 反规范化数据库设计 ( 2 ) 索引技术 ( 3 ) 优化s o l 语句和存储过程 ( 4 ) 应用程序调整 ( 5 ) 数据库服务器性能调整 数据库性能问题是当今诸如电力管理系统等众多数据库应用系统所面临的 共同问题,为了解决系统运行过程中遇到的种种瓶颈,对数据库性能调整的理论 和应用的研究是迫切需要的,也是有现实意义的。本文通过平高集团电器智能有 限公司研发的电力负荷管理系统升级项目的实践,讨论了目前基于s q ls e r v e r 3 郑州大学硕士学位论文 2 0 0 0 的数据库性能改善的一般理论原则和实践方法,虽然只涉及数据库性能改 善技术的一部分,但对于具体的项目还是取得了良好的应用效果。由此,本文结 合数据库性能改善策略的发展趋势及相关研究成果,针对系统中的数据库性能改 善策略及其关键优化技术进行研究,具有一定理论研究价值和现实应用意义。 4 郑州丈学硕士学位论文 第二章数据库性能调整基本框架 数据库性能调整是通过一定方法和措施来调整优化系统性能的活动,需要一 些基本原则和方法论的指导。本章将着重讨论数据库性能调整基本概念、目的、 基本策略和调整步骤。 2 1 性能调整的概念 性能调整( p e r f o r m a n c et u n i n g ) 就是通过优化应用程序、修改系统参数、改变 系统配置( 硬件调整) 来改变系统性能。性能调整包括对硬件配置、操作系统( 0 s ) 与关系型数据库管理系统( r d b m s ) 配置,以及对访问这些组件的应用的详细分 析与优化【3 j o 系统性能的判定标准依赖于性能衡量的研究,通常认为性能的指标可以通过 处理一个事务所需的i o 、c p u 时间量以及响应时间来衡量。性能会随特定环境 的不同而变化,并受应用程序、体系结构和资源、服务器以及并发活动的具体情 况影响。 瓶颈( b o t t l en e c k ) 是性能限制的重要因素,它可以是硬件或软件,如果不是在 正确配置和调整的系统中,就会严重地影响系统性能。性能调整的一个主要目标 是消除瓶颈,减少瓶颈可以最大地发挥一个系统的性能。为有效地对系统进行调 整,必须遵循一套特定的步骤或方法,去调整和优化系统中的所有组件,包括应 用、硬件与s q l s e r v e r 。 2 1 1 系统应用调整 应用是最有可能导致性能问题的部分。应用调整相对来说通常易于监控,有 时也易于修改,以达到更高的效能。通过调整应用,也可以影响调整硬件与s q l s e r v e r ,这样可以有效地控制应用不会过量地使用系统资源。应用调整是基于s q l s e r v e r 系统性能调整的第一步,涉及应用系统程序调整、s q l 语句优化、w e b 应用调整、服务器调整、索引、锁调整等诸多因素 4 1 。 1 s q l 语句优化 应用调整包括分析s q l ( s t r u c t u r e dq u e r yl a n g u a g e ,结构化查询语言) 语句, 5 郑州大学硕士学位论文 并决定相关的查询是否有效。低效率的查询通常使用过量的系统资源并需要使用 过多的时间来运行。通过调整这些s q l 语句,以及调整访问数据库应用的方法, 可以显著地改善一个系统的性能。查询是数据库操作的基础,查询的速度直接影 响系统的性能,和其他大型数据库系统一样,s q l s e r v e r 也提供了查询优化机制, 对查询语句进行分析,找出最佳查询策略,以减少i 0 次数,从而提高查询速度。 但是,查询优化器很难解决语义方面的问题,在具体应用中,应有效运用s q l 语法【5 1 。 2 运用规范化和非规范化相结合的原则 通过对实体关系进行规范化处理可减少数据冗余,避免插入和删除异常。但 在实际应用中,为了提高系统处理的速度,可进行非规范化处理: ( 1 ) 通过增加冗余列、派生列和合并表可减少频繁连表和重复计算。 ( 2 ) 通过水平和垂直分割表可减少查询表中记录的i o 次数。 ( 3 ) 通过增加数据页的记录粒度,可减少锁的竞争提高运行速度。 3 锁的有效使用 锁是为解决不同用户同时对数据库中同一数据进行更新操作时可能带来的 数据不一致性问题而采用的一种控制技术。但锁的运用同时降低了系统处理效 率。如果锁运用不当,甚至会导致死锁的发生。为了提高系统在多用户环境下的 并发性且不产生死锁,必须采取以下相应措施; ( 1 ) 各事务按照同一顺序存取共享资源以避免产生死锁。 ( 2 ) 使用短事务。任何需要互斥锁的事务,应避免用户干预事务上锁。 ( 3 ) 减少数据页和索引页中行的数量,从而减少页竞争机会,提高了系统的 性能。 4 内存的有效管理 对数据库中对象的访问,必须将对象全部或部分调入内存,并在内存中进行 处理,因内存的运行效率远远大于磁盘。因此,扩大物理内存是提高性能的最直 接的方法,但在有限的内存资源下,合理有效利用资源更为重要。数据库中有两 类高速缓存,过程高速缓存和数据高速缓存。过程高速缓存用于存储查询计划、 存储过程和触发器。数据高速缓存用于存储数据、索引、日志页和数据库对象。 所以,可采取以下措施提高系统性能: 6 郑州大学硕士学位论文 ( 1 ) 缺省过程高速缓存为整个数据库所占内存的2 0 ,它的最佳值应随应用 要求的改变而适当调整。对于频繁使用存储过程进行分布式处理的应用可增大过 程高速缓存的比例。 ( 2 ) 可将频繁使用的表捆绑到数据高速缓存上,这样可加快对表的查询速度。 5 临时数据库的有效使用 临时数据库t e m p d b 主要用于排序、建立工作表、格式化等的内部处理和存 储用户建立的临时表和索引,它是可被多用户共享的数据库。可通过以下一些设 计原则改善其性能: ( 1 ) 可通过扩大临时数据库容量。 ( 2 ) 将其建立在单独的物理设备上,从而减少系统资源的竞争 ( 3 ) 可将临时数据库与高速内存缓冲区绑定,减少磁盘i o 的次数。 2 1 2s q ls e r v e r 调整 s o l s e r v e r 调整与硬件调整是紧密相关的,是对数据库服务器的性能调整。 通过修改s q ls e r v e r 的配置参数( c o n f i g u r a t i o np a r a m e t e r ) ,s o ls e r v e r 调整包括 改变它分配资源的方法以及它的工作方式。有些配置参数与资源的使用有关,有 些则无关。那些与资源使用有关的参数紧密地依赖于系统中可用的硬件资源。这 些参数必须基于系统中可用的硬件资源的类型与数量进行修改。例如,一个具有 多处理器的系统,如对称处理器( s y m m e t r i cm u l t i p r o c e s s i n g ,s m p ) 系统,使用 多个s o l s e r v e r 线程( 进程) 的效果要比使用单处理器的系统工作得更好。具有许 多可用内存的系统应该调整s q l s e r v e r ,以充分利用这些附加的内存。应该修改 输入输出( 帕) 参数,以充分利用系统中所拥有的y o 系统类型。s q l s e r v e r 调整 与硬件调整包括为需求的工作量提供足够的系统资源。总的来说,s q ls e r v e r 调整涉及服务器硬件调整、数据库优化设计、s q l s e r v e r 配置参数调整等内裂6 l 2 1 3 系统硬件调整 硬件调整是为要求的工作量提供足够硬件资源的行动,包括数据库大小估计 与容量规划。容量规划( c a p a c i t yp l a n n i n g ) 包括计划一个系统的容量,以维护用户 组预期的服务级别川。 要调整系统的硬件,需要决定可以为s q ls e r v e r 分配哪些资源以改善其性 7 郑州大学硕士学位论文 能,这些资源包括附加的内存、c p u 、i o 资源或所有这些资源的组合。调整s q l s e r v e r 系统的大部分工作主要涉及决定应该增加哪种资源,以及增加多少资源。 硬件调整是非常重要的,因为许多典型的性能问题是由不充足的或配置失当 的硬件组件导致的。f o 子系统是一个数据库性能改善的关键性部分。通过提供 足够的c p u 、内存与i o 资源,可以避免许多性能问题。 2 2 性能调整的目标 有不同的方式确定性能调整工作的目标,数据库应用系统可以用各种定量的 方法分析,其中最重要指标如下所述。 2 2 1 响应时间和吞吐量 响应时间是指结果集的第一行返回所需要的时间,是应用做出反应的时间, 以毫秒或秒表示,该值越低越好。响应时间通常也称为用户收到查询正被处理的 直观确认时刻所感知的时间长度。数据库用户响应时间又可以分为系统服务时间 和用户等待时间两项,即: 数据库用户响应时间= 系统服务时间+ 用户等待时间【引。 因此,获得满意的用户响应时间有两个途径: ( 1 ) 减少系统服务时间,即提高数据库的吞吐量; ( 2 ) 减少用户等待时间,即减少用户访问同一数据库资源的冲突率。 吞吐量是指在给定时间帧内服务器能够处理的查询总数,即每个单元时间完 成的工作,以每秒钟的事务量( t p s ) 表示;该值越高越好。提高系统的吞吐量也有 两种方法: ( 1 ) 在同样的资源环境下做更多的工作( 通过减少服务时间) ; ( 2 ) 通过减少总的响应时间使工作做得更快。要做到这一点,可以将用户等 待的资源加倍,如系统受到c p u 限制,则可以增加c p u 的数量。 在任何一个系统中,吞吐量和反应时间作为调整目标通常是互相对立的。如 果反应时间长( 坏) ,吞吐量或许高( 好) 。如果吞吐量低( 坏) ,反应时间或许短( 好) 。 多数的并发用户在一定时间内使用一个系统,每个用户很有可能比平时要经历更 长的延迟,但是通过系统的事务数量将会更大。相反,假如减少在某一个时间窗 口中访问系统的并发用户数量,以在该时间内完成的全部事务量减少为代价,每 8 郑州大学颈j :学位论文 个用户将会享受到更快的反应时间。 2 2 2 数据库的可用性 数据库的可用性是指数据库是否能满足7 * 2 4 小时的要求,如:s o ls e r v e r 2 0 0 0 增强了对w i n d o w sn t 和w i n d o w s2 0 0 0 故障转移群集的支持。故障转移群 集支持每个群集有- n 四个服务器,具体取决于操作系统。群集在应用程序看来 就像是单个虚拟服务器。如果主服务器节点出现故障,另一节点将检测出主服务 器节点丢失,并自动开始为所有发送到虚拟服务器的请求提供服务。群集在备用 节点下保持运行,直到修复或替换主服务器。 2 2 3 数据库的命中率 用户对数据的需求能否在内存中得到满足,并给出快速的响应,可用高速缓 存命中率( b u f f e rc a c h eh i tr a t i o ) 来衡量。这一比率是高速缓存命中总数除以自 s q l s e r v e r 实例启动后对高速缓存的查找总数。由于从高速缓存中读数据比从磁 盘中读数据的开销要小得多,一般希望这一数值高一些。通常,可以通过增加 s q l s e r v e r 可用的内存数量来提高高速缓存命中率【9 j o 2 2 4 内存的使用情况 对于内存是否合理使用一般考虑主要的调整目标有两条: ( 1 ) 使查询得到最快响应:把时间和精力用于解决随时出现的不正常问题。 ( 2 ) 使争用减到最小。瓶颈的特点在于延迟和等待;尽可能地消除或减少它 们。 总的来说,通用数据库调整目标如下: ( 1 ) 将需要存取的块的数量减到最小:必要时检查并重写代码。 ( 2 ) 只要可能的话,使用高速缓存、缓冲区和队列弥补机电缺点( 内存比磁盘 更快) :预取数据。 ( 3 ) 将数据传输率( 用于读写数据的时间) 减到最小;快速磁盘、r a i d 和并行 操作有助于完成这项工作。 调度程序尽可能非竞争性地运行;它们可以并行,但大部分时间仍然是非竞 争性的。 9 郑州人学硕士学位论文 2 3 性能调整基本策略 数据库性能调整在数据库管理工作中的地位非常重要,但由于各个数据库服 务器产品在实现技术上的差异和厂商出于商业上的考虑,目前还没有一个统一的 数据库性能调整策略。下面在分析不同数据库系统在性能调整方面的共性基础 上,探讨了有关数据库性能调整的统一策科1 0 1 。 2 3 1 数据库应用系统调整的特点 数据库应用系统由于其在应用领域、业务需求、客户群体等方面有别于其他 应用程序,在实际应用调整中有以下特点: ( 1 ) 高可用性 要为用户提供2 4 * 7 的可靠服务,数据库要保证全天候、不间断工作。 ( 2 ) 高速性 系统要高速地为用户返回结果。 ( 3 ) 高并发性 系统要同时满足大量用户的同时的、在线的操作。 ( 4 ) 恢复时间短 当系统由于不可抗拒的介质故障使数据库运行停止,要尽可能快的将它重新 运行起来。 2 3 2 影响性能调整的共性因素 不同数据库开发商所开发的数据库产品各有特色,在所提供的数据库的设计 复杂程度、功能的强弱、容量的大小上也是各有不同。但由于都是用了关系模 型作为描述数据关系的数学模型,物理结构也有一定程度的类似,所以可以总结 出一些影响性能调整的共性的因素,如下: ( 1 ) 共享内存 虽然各个数据库系统对内存的使用方法不尽相同,但为了实现高效率的访 问,它们都提供了内存的共享技术。调整内存的目标就是尽可能地提高内存中可 共享数据的命中率。 ( 2 ) 存储结构 郑州大学硕上学位论文 不管是什么数据库系统,在设计自己的数据存储结构时都综合考虑了内存调 度的高效性和方便性。比如从逻辑上考虑数据块( b l a c k 或者p a g e ) 的大小、区 间( e x a x n t 或者扩展) 的分配和增长方式等。 ( 3 ) 磁盘i 0 磁盘性能应该在操作系统级和数据库级进行综合的考虑。为了更好地平衡, 在设计数据库系统时应根据应用的内容设计好数据的分布方案,特别是应重点考 虑物理文件头的争用问题。验证i 0 是否平衡可以通过检测各种i 0 等待情况来 判断。 ( 4 ) 锁控制 数据库系统对运行时的数据完整性保护主要是通过各种锁实现的,因此各个 数据库系统都提供了类似的锁机制。例如,在范围上有行级锁、表级锁,在性质 上有排它锁、共享锁。在事务的控制上,锁的作用至关重要,特别是在符合a n s i 标准的事务控制中。 ( 5 ) 网络1 o b r o w s e r s e r v e r 应用处理的三层结构决定了网络1 o 是整个系统性能提高的 瓶颈。减少网络1 o 的最重要的一条原则是将应用逻辑集中在数据库服务器中。 ( 6 ) 其它考虑 数据库系统的性能调整是一个系统工程,除以上因素外,还有很多因素会对 数据库性能造成影响,比如,应用系统中s q l 语句对应用的执行效率影响、所 使用的索引情况、视图的定义情况等。 2 3 3 性能调整的总体策略 ( 1 ) 设计联合数据库服务器 解决如何通过将处理负荷分摊在多个服务器问而达到高性能级别( 如大型 w e b 站点等所需的性能级别) 。 ( 2 ) 优化数据库设计 在数据库应用程序开发的早期阶段正确设计数据库、使其为业务需求建模并 利用硬件和软件功能很重要。 ( 3 ) 调整服务器性能 可以配置s q l s e r v e r 内存、i o 子系统等组件以优化服务器性能。 1 1 郑州大学硕士学位论文 h ) 应用程序优化设计 应用程序优化对服务器上的锁类型和持续时间、i 0 活动量以及处理( c p t o 负荷等产生主要影响,并由此影响总体性能的优劣。应用程序的设计准则包括: 消除过多的网络流量;使用小结果集;始终实现查询或锁定超时;使事务尽可能 简短;使用存储过程;确保将应用程序设计为可避免死锁等【l o l 。 2 4 性能调整的步骤 认为数据库应用系统的性能调整是在系统运行出现问题时才进行的看法是 片面的。性能调整和优化工作是在进行系统计划和设计阶段就己经开始了,并且 一直贯穿系统的运行周期。在计划阶段就仔细地考虑性能调整工作,这会大大减 轻系统运行后的性能调整工作。在数据库的性能调整过程中需要应用程序设计人 员、应用程序开发人员、数据库管理员以及系统管理员共同完成。下面以优先顺 序给出性能调整的步骤: 1 优化业务逻辑 为了得到最佳的性能,在数据库设计过程中要采用业务逻辑,这关系到对整 个系统的高层分析和设计,像是否在系统范围内采用线程服务器这样的配置问题 就是这一阶段需要考虑的问题。设计者要将性能要求同具体的业务需求直接联系 起来。 2 优化数据结构设计 在数据设计阶段,设计人员必须决定哪些数据是应用所需的,同时还要考虑 哪些关系是重要的,以及它们的属性是什么,还要确定哪些属性可以作为主键 ( p r i m a r y k e y ) 或外键( f o r e i g n k e y ) 。最后,要构造好信息来更好地满足性能目标。 这一阶段需要对数据进行仔细分析,避免数据冗余,同时要考虑合理分布数 据,以防止数据存取的拥挤,如是否使用数据库的分区功能,以及对于经常访问 的数据库表是否需要建立局部还是全局索引等。 3 优化应用程序结构 这一步需要考虑应用程序使用什么样的体系结构,是使用传统的 c l i e n t s e r v e r 两层体系结构,还是使用b r o w s e r w e b s e r v e r d b s e r v e r 的三层体系 结构,不同的应用程序体系结构要求的数据库资源是不同的。优化应用程序包括 郑州人学硕士学位论文 对数据库的连接、存储过程、s o l 语句本身的优化等【“l 。 4 优化数据库的逻辑结构 这一阶段就是通过增加、减少或调整逻辑结构,如考虑在主键和外键上建立 索引之外还应该增加其它索引以提高系统性能。 5 优化数据库的操作 这一阶段主要是在优化数据库服务器之前,首先确保在应用中已充分利用了 为了提高性能而设计的s o l 以及其中的一些特殊功能,如在s o l s e r v e r 数据库 中的数组的处理、s o l 优化器、行级锁管理以及s q ls e r v e r 查询分析器等。应 用程序的执行最终将归结为数据库中的s o l 语句执行,因此s o l 语句的执行效 率最终决定了数据库的性能【1 1 】。 6 数据库服务器性能调整 数据库服务器是整个数据库应用系统的核心,它的性能高低直接影响整个系 统的性能,对其调整包括硬件性能调整、s o l s e r v e r 与操作系统的配置参数调整。 影响s o ls e r v e r 性能的因素涉及到系统各个方面,在实际应用中,应根据具体 情况采取相应的优化策略。有时,在提高系统某方面性能的同时可能会降低其他 方面的性能,所以,必须对系统整体进行有效权衡【1 2 】。 1 3 郑州人学硕士学位论文 第三章基于t y e i m 电力负荷管理系统的数据库性 能调整分析 3 1t y - e i m 电力负荷管理系统 3 1 1 系统概要 t y - e i m 系统是由平高集团电器智能有限公司研发的一个电力负荷管理系 统,它可以对安装有本系统控制模块的用电设备进行远程控制和数据采集等,接 受下位机通讯模块采集的用电设备的实时信息并存储到服务器端的数据库中,并 实时的通知数据库进行数据的更新。设备管理员可以实时查询设备的状态信息, 从而进行合理安全的操作或者对意外情况及时处理。 3 1 2 系统结构图 用电负荷管理 c d m a g p r s 设各终端通信模块 图3 1 电力负荷管理系统 如图3 1 所示,包含以下处理过程: ( 1 ) 主站系统的处理过程 接收信息处理:利用s o c k e t 通信( c d m a g p r s 、无线网络1 ,从用电设备里 的设备信息采集模块得到设备状态信息,并把得到的数据存储到数据库中。 更新处理:对采集的信息实时监听,并根据己定义的操作事件,对异常数据 做出响应。 所有以上过程是自动实时的,也可由管理终端控制。 1 4 郑帅人学硕士学位论文 ( 2 ) 终端输出信息处理过程 各个终端通过s o c k e t 通信( c d m a g p r s 、无线网络) 与用电设备进行通信, 管理信息文件的输出;按照终端用户的需求将信息以报表或者文本的格式输出。 ( 3 ) 批处理( b a t c h ) 初始化设备编号引用,更新系统日期。用电设备m a s t e r 表的存储操作把从 负荷管理终端得到的控制反馈信息存储到主站系统的数据库中。根据已有的设备 信息和设备单位信息把没有进行约定操作的数据变成不显示状态,生成以往的用 电信息帐票。操作结束后,确认是否存在没有进行“确认”的操作。要对数据进行 定期备份或删除无用数据,对以往修改的数据,要保证管理终端和负荷管理终端 的数据表的一致性,同时生成结果一览表。以往更新数据要存储在以往更新的备 份表中,或者形成日志。 ( 4 ) t y - e i m 负荷管理终端的应用 控制各用电设备并接收、存储其反馈信息,利用s o c k e t 通信将信息存储到 主站系统的数据库中。 3 1 3t y - e i m 系统业务流程 d b ic o m ;v b 通过该控件访问数据库。 h e a r t b e a t :生存确认,从属服务器( 各个与用电设备连接的控制终端) 向主服 务器( 主站终端) 发送消息,并通过判断主服务器的响应信息确认主服务器是否还 在正常工作。 向送信端返回接收成功确认信息。 接收来自各用电设备及负荷管理终端的信息。 向数据库存储接收到的各种实时信息。 存储数据结束后,向更新进程发送通知。 更新进程向所有连接到服务器的客户端发送更新信息。 客户端在收到更新信息后,从服务器的数据库中重新读取数据,并将数据 实时显示在画面上。具体业务流程如图2 2 所示。 邙州人学坝士学位论义 客户端 图3 2 系统业务流程图 t y - e i m 客户端,具有以下机能: o ) l o g i n 机能:通过验证用户的身份( 用户名和密码) ,登录服务器端。 ( 2 ) 密码变更机能:每个合法用户都可以通过本机能修改自己的用户密码。 ( 3 ) 主菜单机能:客户端的主菜单机能是客户端的各机能的总控机能。主要 通过w 缸s o c k 控件,t c p 协议与服务器端建立连接,即通信部分的处理。 ( 4 ) 用户管理机能:能否对客户端各个机能进行操作取决于用户的权限。本 机能实现了对用户信息的管理以及用户权限的管理。 ( 5 ) 现有设备信息显示机能:本机能中实现了对当前进行约定操作以及对当 郑州人学硕士学位论文 前进行操作控制的一览。以这个画面为基础,可以跳转到以下对当前新增设备、 当前已有设备的各个处理:客户确定,预交费,结算,户口变更输入,以及对当 前操作还可以跳转到以下处理:预交费、结算、再次检查。 ( 6 ) 权限操作分配机能:设备控制的操作、分配、再次检查的处理以及对各 个处理的取消处理操作。 用户最终结算机能:未进行正常交费的用电设备、再次检查等处理,以 及各处理的取消处理和催交费用。 ( 8 ) 设备信息发送机能:设定、检查信息单位,即发送到主系统的具体内容。 ( 9 ) 未结算设备一览机能:用票据的形式显示未付费设备及单位览。 ( 1 0 ) 余额表做成机能:做成余额表。 ( 1 1 ) 新增设备做成机能:当日新增设备信息的生成。 ( 1 2 ) 操作指示书做成机能:操作指示书的做成。 ( 1 3 ) 操作指示书再输出机能;操作指示书的再输出、操作指示书空白格式的 输出。 ( 1 4 ) 手续费强制缴纳机能:手续费、消费税的强制缴纳。 ( 1 5 ) c s v 文件输出机能:通过制定客户、编号或者顾客名两者之一,以及 b r e a k d o w n 或者使用单位两者之一,生成并输出c s v 文件。 3 1 4t y - e i m 系统数据库设计 系统的原数据库包括两个数据库实例,分别是负荷管理( t y - e i m ) 数据库 和m b r d b 数据库。其中t y - e i m 数据库共有5 6 个表,m b r d b 数据库有5 个表。 系统共有6 1 个表。其中负荷管理数据库有6 个核一t l , 的数据表:设备表,附加表, 操作表,日志表,设备单位表,付费对象表。 ( 1 ) 设备表 设备表用来记录从客户控制得来的设备信息。共有3 5 个字段和一个索引, 索引建立在以下四个字段:包括设备种类、位置、始用日和设备编号。 ( 2 ) 附加表 附加表主要记录客户对权限设备进行的操作处于有效状态时的数据。该表共 有2 6 个字段,个建立在控制编号控制字段上的索引。控制编号j 空制是用设 备编号和操作表的控制编号组合而成的字段。 郑州大学硕士学位论文 ( 3 ) 操作表 操作表主要记录客户对权限设备进行状态更新时的状态和相关数据。共有 2 1 个字段,一个建立在控制编号控制字段上的索引。控制编号- 控制字段是用 设备编号和操作表的控制编号组合而成的字段。 h ) 日志表 日志表是为向主系统发送预定信息而准备的一张表,其中的数据字段与交易 表相同,只是索引建立在设备编号附加字段上。 $ ) 设备单位表 设备单位表是发送过程主要使用的表,表中的数据都是完成送信过程所必需 的数据。共有1 6 个字段,两个索引。一个索引建立在以下字段上:设备编号 设备单位、发送编号、控制编号一操作、正常一设备编号一附加、正常控制。另外 一个索引建立在交易编号集约上。 ( 6 ) 付费对象表 付费对象表是管理员对权限设备操作信息,与能否进行相关操作信息的相关 的数据和信息。表中有1 8 个字段,一个索引,该索引建立在付费设备编号、正 常设备编号附加、正常控制上。 以上是构成t y - e i m 数据库的六个核心的数据表。对于其中四张涉及操作的 数据表,不但有记录当前控制的数据主表,对于每个主表都有相应的履历表。每 个履历表的结构与主表的结构完全相同,只是记录的内容是历史性的数据,而主

温馨提示

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

评论

0/150

提交评论