(计算机软件与理论专业论文)dm3的tpch性能测试的研究.pdf_第1页
(计算机软件与理论专业论文)dm3的tpch性能测试的研究.pdf_第2页
(计算机软件与理论专业论文)dm3的tpch性能测试的研究.pdf_第3页
(计算机软件与理论专业论文)dm3的tpch性能测试的研究.pdf_第4页
(计算机软件与理论专业论文)dm3的tpch性能测试的研究.pdf_第5页
已阅读5页,还剩47页未读 继续免费阅读

(计算机软件与理论专业论文)dm3的tpch性能测试的研究.pdf.pdf 免费下载

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

文档简介

华中科技大学硕士学位论文 摘要 国民经济的发展需要高性能的数据库管理系统,如何对数据库进行性能测试是一个 需要多方面综合考虑的问题。事务处理性能委员会t p c 制定的数据库性能测试基准已经 得到了广泛的认可,采用其联机分析处理陛能测试基准t p c h 对d m 3 进行陡能测试,并 与其他数据库管理系统进行比较,将有助于d m 3 的改进。 d m - t p c h 参照t p c h 基准设计,用于评测数据库在联机分析处理系统中的性能。它 将t p c h 基准分解为数据生成与装载、事务处理、正确性检验和结果统计四个模块。数 据依据表之间的逻辑关系生成,并被批量导入数据库中作为初始化数据;事务处理模块 包括由二十二个复杂的联机分析查询组成的商业分析模块和由增加新订单函数和删除 旧订单函数组成的更新模块:正确性检验包括确认测试和事务的a c i d 特性测试;结果 统计模块记录并计算出测试结果。 l d m _ t p c h 在t p c h 基准的基础上,作了以下改进:首先,提出从功率、吞吐量、响 应时间、资源消耗和系统代价这五个方面来综合评估数据库的性能:其次,改进的数据 生成工具d m - d b g e n 具有定制数据生成方案的功能,能够快速生成并装载接近实际应用 环境的数据:最后,客户端应用逻辑控制器可以灵活地定制事务类型和事务调度方案, 使得d m - t p c h 能够很方便地针对不同的联机分析处理眭能测试基准进行测试。丫 为了比较d m 3 与其他d i n s 的性能,采用d m t p c h 对d m 3 、o r a c l e 和s q ls e r v e r 分 别进行测试,并对结果进行分析,提出了d m 3 有待改进之处。 【关键字】联机分析处理:基准测试:联机分析查询:功率测试;吞吐量测试 华中科技大学硕士学位论文 a b s tr a c t t h ed e v e l o p m e n to fn a t i o n a le c o n o m yn e e d sh i g hp e r f o r m a n c ed b m s s ,a n dt h e d e r f o r m a n c ee v a l u a t i o n o fd b m si sap r o b l e mt h a tn e e d s t ob ec o n s i d e r e d s y n t h e t i c a l l y d a t a b a s eb e n c h m a r k sd e f i n e db yt p ch a v eb e e na d o p t e dw i d e l y ,w e u s et h e i ro l a pb e n c h m a r kt p c ht oe v a l u a t et h ep e r f o r m a n c eo fd m 3a n dc o m p a r e d m 3w i t ho t h e rd b m s s ,a n di tw i l lm a k eh e l pt ot h ei m p r o v e m e n to fd m 3 r e f e r r i n gt ot p c h ,d m t p c hc a nb eu s e dt oe v a l u a t et h ep e r f o r m a n c eo fd b m s s i no l a ps y s t e m s i td e c o m p o s e st p c h i n t of o u rm o d u l e s :d a t ag e n e r a t i o na n d l o a d i n g ,t r a n s a c t i o np r o c e s s i n g ,v a l i d i t yi n s p e c t i o na n dr e s u l t ss t a t i s t i c s d a t aa r eg e n e r a t e da n di m p o r t e di n t od b m s sa st h eo r i g i n a ld a t a t r a n s a c t i o n p r o c e s s i n gm o d u l ei n c l u d e sb u s i n e s sa n a l y s i sm o d u l ec o m p o s e do f2 2o l a pq u e r i e s a n du p d a t em o d u l ec o m p o s e do fn e wo r d e r sa n dr e m o v i n go l do r d e r sf u n c t i o n v a l i d i t yi n s p e c t i o ni n c l u d e sc o n f i r m a t i o nt e s ta n d a c i d p r o p e r t i e st e s t r e s u l t s s t a t i s t i cn o d u l er e c o r d sa n dc a l c u l a t e st h er e s u l to fp e r f o r m a n c et e s t d m _ _ t p c hm a k e sf o l l o w i n gi m p r o v e m e n t s f i r s t ,i tp u t sf o r w a r d s5p e r f o r m a n c e f a c t o r si n c l u d i n gp o w e r ,t h r o u g h p u t ,r e s p o n s et i m e ,r e s o u r c ee x p e n d i t u r ea n d s y s t e mc o s t t h e n t h ei m p r o v e dd a t a g e n e r a t o rd m d b g e n c a nc u s t o m i z ed a t a g e n e r a t i o nm e t h o d s ,g e n e r a t ea n di m p o r td a t aq u i c k l y a tl a s t t h ea d d i t i o n a l a p p l i c a t i o nl o g i cc o n t r o l l e rc a nc u s t o m i z et r a n s a c t i o nt y p e sa n ds c h e d u l ep l a n , s od m t p c hc a ni m p l e m e n tt e s tf o rd if f e r e n to l a pb e n c h m a r k se a s i l y t oc o m p a r et h ep e r f o r m a n c eo fd m 3w i t ho t h e rd b m s s ,w eu s ed m t p c ht ot e s t d m 3 ,o r a c l ea n ds q ls e r v e rs e p a r a t e l y ,a n a l y z et h er e s u l t s ,a n dg i v es u g g e s t i o n s f 。r i m p r o v e m e n tt od m 3 sp e r f o r m a n c e k e y w o r d s o n l i n ea n a l y t i c a ip r o c e s s i n g :b e n c h m a r kt e s t :o l a pq u e r i e s :p o w e r t e s t ;t h r o u g h p u tt e s t i i 华中科技大学硕士学位论文 1 绪论 1 1 课题的来源、目的与意义 随着企业信息化建设的不断深入,数据库管理系统( d a t a b a s em a n a g e m e n ts y s t e m ) 越来越成为公司和大型企业的核心i t 系统,数据库性能的好坏直接影响着整个应用系 统的正常运行。同时,d b m s 也意味着一个大的资源投资,系统性能和成本问题日益突出。 为了给用户提供一个客观的性能结果 基准程序是对于测量方法集合的一个规定 许多组织和公司设计了一系列的基准程序。 用于评估某种软件和或硬件系统能力,通 常是性能“。1 。如美国事务处理性能委员会( t r a n s a c t i o np r o c e s s i n gp e r f o r m a n c e c o u n c i l ,t p c ) 针对当前典型的三类应用:联机事务处理、联机分析处理和电子商务制 定了业界公认的性能测试基准程序;o l a p ( o n l i n ea n a l y t i c a lp r o c e s s i n g ) 委员会 8 专门针对联机分析处理系统制定基准,测试系统总体性能:s a p 、p e o p l e s o f t 和b a a n 等公司则直接提供了一系列应用程序供软硬件厂商使用并发布测试结果“。另外,部 分数据库厂商如o r a c l e 和先前的i n f o m i x 公司也设计了一些基准来作特定类型的数据 库性能测试”1 。与此同时,各大数据库厂商为了说明其d b m s 在性能、价格以及技术上 的优势,针对这些基准实施测试、发布结果。如2 0 0 2 年3 月4 日,微软公司发布了在 它们的w i n d o w sd a t a c e n t e rs e r v e r 和s q ls e r v e r 2 0 0 0 上进行s a p 的s d ( s a p 标准应 用程序经销基准测试) 基准测试结果( 使用u n i s y s 公司的e s 7 0 0 0 服务器) ,凭借其卓 越性能以及在系列电子商务基准测试中的性能优势,证明其数据库在电子商务应用领 域中的领先地位“;i b m 公司则根据其在t p c - h 基准测试中的明显优势,证明d b 2 在大 型联机分析处理系统中的性能、可扩展性和价格均要比o r a c l e 优越“。 数据库管理系统d m 3 是我国自主产权的安全数据库管理系统,它“在总体设计和技 术上处于国内领先地位,达到了国际先进水平,在军用和国民经济各领域均有广泛的应 用前景“”。在研制过程中,d m 3 经历了大量的白箱测试和集成测试,研制成功之后,又 系统化地进行了各种功能测试,如s l 9 2 标准测试、o d b c 、j d b c 和a p i 等接口测试、 安全级别测试( 其中d m 3 达到b l 级,而国内市场上的国外同类产品均只达到c 2 级) 以 及d m 3 各种特色功能测试等;相比较而言,性能测试则显得较为薄弱,没有做到全面和 华中科技大学硕士学位论文 系统化。 随着d m 3 的逐步推广,需要为用户提供一个可信的性能结果,并与国外通用大型数 据库管理系统进行比较,因此有必要对d m 3 进行全面的、系统化的性能测试。考虑到无 论是由第三方来进行测试或者是采用已有的标准测试程序均需要相当高的花费,因此决 定参照国际上流行的数据库性能测试基准,开发自己的性能评测工具,并对d m 3 和其他 大型d b m s 进行测试,分析结果,提出d m 3 的改进意见。 1 2 国内外研究概况 目前,比较通用的性能和价格衡量方式包括“: ( 1 ) 在真实环境中运行实际应用: ( 2 ) 使用用户自定义的基准程序; ( 3 ) 使用通用基准程序。 对于数据库厂商来说,前面两种方式过于复杂,不可能有时间和资源进行所有的测 试,主要采用经过精心设计、可信度高的通用基准来实施测试。因此,为了对d m 3 和国 外的大型d b m s 的性能有一个比较全面的认识,采用通用基准程序来衡量它们的性能。 1 数据库性能测试基准研究概况 在八十年代末期,随着数据库应用日益普及,数据库性能测试基准的研究和设计也 逐步开始,九十年代就已经出现了一系列数据库性能测试基准。进入二十一世纪,随着 应用的转型,数据库性能测试基准也在逐步地发展和改进。目前,主要是国外的组织、 应用软件研发商和数据库公司来研究和设计数据库性能测试基准,并且已经形成了一些 比较流行的业界标准,下面将对这三种类型的性能测试基准进行分析。 ( i ) 工业标准基准 t p c 是一个非盈利性的组织,其目标是定义事务处理与数据库性能测试基准程序 ( b e n c h m a r k ) 的标准规范、性能和价格度量,并管理测试结果的发布。目前,t p c 系列 基准已经成为软硬件厂商公认的事实上的工业基准“”。自1 9 8 9 年1 1 月发布第一个基 准t p c - a 至今,t p c 已经连续提供了七个性能测试基准( t p c a 、t p c b 、t p c c 、t p c d 、 t p c h 、t p c r 和t p c w ) ,其中t p c - a 、t p c b 和t p c d 已经不适应当前需要而被t p c 委 员会舍弃,目前广泛采用的是其他四个基准,如表1 1 所示。 华中科技大学硕士学位论文 表1 1t p c 基准简介 淡 t p c ct p c h rt p c - w 基准类型联机事务处理联机分析处理电子商务应用 发布时间1 9 9 2 年7 月发布,取代了1 9 9 9 年4 月发布,取代了2 0 0 0 年2 月发布 1 9 8 9 年儿月发布的t p c a1 9 9 5 年4 月的t p c d 模拟环境批发商销售货物零售商市场分析网上订购书籍 事务类型五种不同类型和复杂度的二十二个复杂查询事务和十三种不同类型的网络交 事务:订单输入、付款、两个( 或者细分得更多)互事务,包括订单输入、 订单状态更新、交货及库更新事务查询等 存变更 度量方法五种事务并发执行的情况查询与更新事务并发时处多种事务并发时测试出所 下,测试出所产生的新订理的复杂查询数量产生的w e b 交互次数 单的数量 度量单位t p m c :每分钟新订单数q p h h r s i z e :当数据库大w i p s :每秒钟产生的w e b $ t p m c :每个新订单的代小为s i z e 时每小时处理的交互次数 价 查询数$ w l p s :每个w e b 交互的 $ q p h h r s i z e :每个查询代价 的代价 t p c 基准被全球主流计算机硬4 牛7 - 商、数据库厂商公认为性能评价标准,其测试程 序的数据库结构设计、应用程序规划代表了对r d b m s 的标准用法。 o l a p 委员会成立于1 9 9 5 年1 月,其目的是推广0 l a p 技术,定义公用术语和资助工 业研究。1 9 9 6 年4 月1 5 目,他们发布了第个o l a p 基准a p b - 1 ( a n a l y t i c a lp r o c e s s i n g b e n c h m a r k 一1 ) ,目前已经提供了它的第二个版本:a p b 一1r e l e a s ei i 。 该基准模拟个实际的o l a p 商业环境,并对数据库服务器盼洼能进行测试。数据 库执行的操作包括:从不同数据源装载大量数据;从实际系统中增量装入数据;对数据 进行聚集:基于商业模型计算出所需的数据;时间序列分析;非常复杂的报表查询和随 华中科技大学硕士学位论文 机复杂查询,共1 0 个查询模板,它们在所生成的查询语句中占有不同的比例:保持 多个联机会话。其度量单位是每分钟所执行的复杂查询数:a q m ( a n a l y t i c a lq u e r i e s p e r m i n u t e ) = 所有复杂查询的数量* 6 0 执行时间。执行时间包括:执行增量数据装载所花 费的时间;如果需要执行批量计算,统计其时间;执行所有复杂查询的时间。它们都以 秒为单位,执行时间则是它们的和5 1 。 ( 2 ) 商务应用性能测试基准 目前,相当多的独立软件供应商凭借其软件产品在市场中的领先地位,发布了许多 基准应用程序。如s a p 、p e o p l e s o l t 、b a a n 等公司对于它们的主要应用领域都发布了它 们的标准应用程序,供软硬件厂商使用并发布性能测试结果。下面将对目前几个主要 的i s v 提供的基准应用程序进行介绍。 s a p 是国际上著名的标准应用软件公司,他们提供的一系列标准应用程序也成了行 业中认可的标准之一,成为工业界标准应用程序的领导者。目前他们提供的应用主体包 括电子商务、客户关系管理、商务智能和供应链管理等。针对每种应用,他们都提供了 基准应用程序,具体如表1 2 所示”1 。 表1 2s a p 基准应用程序简介 基准类型 基准名称 供应链管理高级计划与优化a p o 、按订单组装a t o 、物料管理m f 、生产计划p p 、营 销s d 、仓库管理w m 行业解决方案银行客户账务b c a 、零售r 、客户服务i s u - c c s 金融财务f i 产品生命周期管理工程系统p s 商务智能业务信息仓库b w 人力资源管理日程安排c a t s 、工资册p y 尽管s a p 提供了多达1 4 个应用程序基准供厂商和用户使用,但是各大数据库厂商 普遍采用的基准是a t o 和s d 应用基准,它们都有两种实现方案:两层客户机服务器结 构和基于i n t e r n e t 的三层体系结构。 a t o 基准代表着s a p 的一个最苛刻和最具有挑战性的基准,这个指标可以说是反映 供应链管理水平以及制造业效率高低的世界级通用标准“”。它模拟与销售订单相关的生 华中科技大学硕士学位论文 产环境中预计的典型系统负荷,如p c 装配。 s d 是一个o l t p 测试,它代表了一个订货负载的全过程,包括订单生成、交付单生 成、订单展示、货物清单置入、订货清单和发票生成,通过对指定系统在确保响应时间 不超过2 秒的前提下所能处理的最大用户访问数量进行模拟,实际上己成为当今处于领 先地位的企业对基于s a p 的系统扩展性能进行度量的公认标准”。 p e o p l e s o f t 是商务应用软件研发商,世界领先的企业协作软件提供者,其纯粹的 i n t e r n e t 结构使用户通过把其客户、供应商及雇员联合起来以降低成本、提高生产率。 p e o p l e s o f t 是一个集成的应用程序包括:客户关系管理、企业服务自动化、供应商管理、 人力资源管理、财务管理、企业效益管理等模块,它们也同时是其基准应用测试程序。 作为全球排名第一的人力资源管理解泱方案供应商,其人力资源管理系统( h r i s ) 基准测试无疑会受到各数据库厂商的重视。h r m s 基准测试的作用是在保证用户响应时间 低于3 秒的前提下,衡量一个系统所能支持的最大并发用户数量“。 b a a n 是个为项目型、流程型以及离散型产业供应链提供企业资源计划( e r p ) 应 用系统和咨询服务的主导公司。它采用其主要产品b a a n e r p 作为基准,衡量不同系统配 置的计算机的性能。b a a n e r p 是一套客户服务器商业解决方案,它将整个公司的商业事 务处理整合到一个简单的软件解决方案中,提供了用于进行财政管理、会计、销售、物 资管理、生产计划、质量管理、设备维护和人力资源管理等的应用程序。 b a a n 基准用户测试要对e r p 应用中同时支持的终端用户数目给以量化,这通常被称 为b a a n 的参考用户数( b r u s ) ,这一指标通常用于度量实际用户的多少和配置各种应用 1 8 ( 3 ) 数据库厂商提供的性能测试基准 o a s b ( o r a c l e 应用标准基准) 是一个联机事务处理( o l t p ) 和批事务基准用户测试, 它模拟了金融与供应连管理等现实世界的实际应用中用户所需的多层e r p 应用功能。该 测试是由o r a c l e 研发、由第三方授权的一个基准测试,它表明了所提供的存储器、网 络和i o 的最高性能,可以对o r a c l e 应用程序的性能与可伸缩性加以验证:同时,它 还可以为运行在不同系统上的o r a c l e 应用软件之间性能的比较提供量度,并发用户进 行的操作活动、同步的后台处理以及针对这一基准的事务混合测试将对上述复杂系统的 实际使用情况有所反映。 华中科技大学硕士学位论文 o a s b 选择最常使用的7 个o r a c l e 应用模块,其中有4 个o r a c l e 的财务模块( 应付 款项、应收款项、固定资产、总分类帐) 和3 个供应链管理模块( 存货、定单登录和采 购) 。1 8 个o l t p 事务和7 个批处理工作代表了基准的全部负载。在保证响应时间不超过 预先定义的最大值和一个最小的每小时执行的事务比率的清况下,对o r a c l e 应用可以 承受的并发用户进行计数。1 。 p o p s ( 先前的i n f o r m i x 公司提供的性能与缩放性测试基准) 是专门针对实际零售 环境下的i n f o r m i xr e db r i c kw a r e h o u s e 的性能和缩放性进行测试而设计的。该测试 针对缩放性的性能测试有以下三项标准要求“”: 具有零售商所要求的在短时间内加载超过3 0 0g b 的数据的能力; 面对3 0 0 g b 的数据仓库和多个c p u 的系统,具有连续优异的查询性能: 面对3 0 0 g b 的数据仓库和多个c p u 的系统,具有对巨量并发顾客的优异缩放性 能。 对具体数据的查询和查询回复,要求分别按特定的方式进行。在该测试中,有1 0 个查询同时多次进行,以便检验系统的查询性能和用户的缩放性。在用户增加的时候, 系统的查询性能和系统资源利用率仍然保持良好的情况下,提供测试的用户数和响应时 间“”。 2 数据库性能测试基准选择 一个好的基准程序使得管理员可以完全基于测试得到的性能价格比来对软件和或 硬件平台做出购买的决定,对于开发人员而言,基准程序也提供了一个好的质量确保测 试,使得他们在计划和实现他们的新产品时能够在关键方面提高性能。“。 对比上面所说的各种基准,可以发现它们有许多相同点: ( i ) 几乎所有的数据库性能测试基准都以单位时间内所处理的事务数来衡量,并 要求系统的设计方案在现实生活中具有实际的意义。 ( 2 ) 通过模拟现实生活中典型的实际应用来设计测试基准,事务的设计具有广泛 的代表性,如对于o l t p 类型的基准,其新订单事务都有定的思考时间( t h i n k i n g t i m e ) 。 ( 3 ) 随着时间地推移,应用类型在不断地变化,而基准也在不断地改进和完善。 如当新的应用类型电子商务已经成为流行的应用模式时,t p c 制定了新的基准t p c w , 华中科技大学硕士学位论文 s a p 也针对其应用基准设计了三层体系结构。 同时,基准之间在以下方面也存在着不同点: ( 1 ) 商业过程:工业标准基准并不描述所有的商业过程,而是描述了所有行业的 通用过程;商务应用类型基准则是针对某一特定的行业设计,而且数据库厂家广泛采用 的只是其中几个在实际中应用中使用得最广泛的应用系统,如s a p 有1 4 个应用基准, 但是广泛采用的是s d 和a t o 应用基准;数据库厂商提供的性能基准则是针对特定的数 据库进行测试或者是测试数据库的某个方面的特性。 ( 2 ) 设计方案:工业标准基准和数据库厂商提供的基准都是提供设计思想,具体 实现由测试者来负责,实现细节和结果由基准设计成员来进行审计;商务应用基准则是 直接提供应用程序供厂商使用,测试结果由应用软件提供商审计。 ( 3 ) 结果度量:除了以单位时间内处理的事务数来衡量数据库的性能之外,t p c 还另外规定了必须给出整个系统实现的价格,包括所有的软硬件和几年之内的维护费 用,其他基准一般只需要给出软硬件配置即可。 而在选择测试基准时,需要考虑的主要问题是: ( 1 ) 测试目的:我们的最根本的目的是对d m 3 进行性能测试,并比较它与国外大 型d b m s 的性能差异,以便做出改进。因此在选择测试基准时,要求基准能够提供当前 典型的应用系统的测试方案或者应用程序。 ( 2 ) 测试的有效性:即应该采用各大数据库厂商广泛使用的基准来衡量性能,使 得结果有较强的说服力。 综合考虑上面的因素,可以看到,数据库厂商提供的性能测试基准一般都是针对某 种特定的数据库或者数据库的某项特征进行测试,不能全面地反映数据库的总体性能。 使用商务应用性能测试基准则需要购买他们的应用程序,成本很高,而且应用程序也是 针对某些类型的应用,不够全面。这两种类型的基准均不适合d m 3 的测试需要,因此我 们采用工业标准基准。工业标准基准中,o l a p 委员会只对联机分析处理设计了性能测试 基准,也不够全面和系统化。而t p c 将目前的应用划分为三种类型,并分别设计了测试 基准,已经被各大数据库厂商广泛采用,被认为是事实上的数据库性能测试基准。因此, 我们采用t p c 系列基准的设计方案,同时也借鉴其他基准的部分思想,来设计并实现d m 3 的数据库性能测试平台。 华中科技大学硕士学位论文 1 3 本文的工作 本文的工作是设计并实现一个数据库性能评测工具,它主要用于测试联机分析处理 系统中数据库的性能,并对不同的数据库管理系统如d m 3 、o r a c l e 和s q ls e r v e r 进行 测试,比较它们的性能,提供一个可信的结果。主要工作有: 1 比较国内外数据库性能测试基准的设计方案,分析优缺点,说明实现自己的性 能评测工具的目的和意义。 2 分析联机分柝处理系统的特点和t p c h 基准的理论基础,提出评测工具d m t p c h 的设计与实现方案。 3 实现数据库联机分析处理性能评测工具d m t p c h ,说明其中的一些主要设计思想 和算法。 4 使用d m t p c h 对不同的数据库管理系统的性能进行评测,提供了可信的测试结 果,并对结果进行分析,提出d m 3 有待改进的地方以及今后进一步的工作。 华中科技大学硕士学位论文 2d m - t p c h 系统设计 数据库应用系统的性能取决于很多因素,本章将从分析影响数据库应用系统性能的 因素出发,研究o l a p 系统的特点,分析如何对这种应用类型中的数据库性能进行测试, 最后提出d m t p c h 的系统设计方案。 2 1 概述 目前国外已经存在很多流行的数据库性能测试基准,鉴于当前t p c 系列基准已经成 为事实上的工业标准,我们在总体上采用其设计方案。按照t p c 的规划,将数据库应用 系统划分为三种类型:联机事务处理、联机分析处理和电子商务。针对这三种应用系统, 参照t p c 的基准设计出三个性能评测工具,分别用来测试数据库在这几种情况下的性能。 d m - t p c h 是整个性能测试系统中的一个子系统,它的主要目的是对联机分析处理系 统中数据库的性能进行评测,并对结果进行比较和分析。该测试系统主要采用t p c h r 的设计思想,首先分析影响应用系统性能的一些主要因素,然后针对这些特点,设计出 能够反映出数据库的o l a p 性能的测试系统。 2 2 数据库应用系统性能因素分析 1 性能需求描述 一个数据库应用系统的性能需求可以被表示为在一定的配置条件( 包括软硬件) 下,被测系统必须完成某项任务的一个时间间隔。”。表2 1 列出了性能目标定性的结果。 表2 1 性能目标的描述 目标定义例子 吞吐量每个时间单位完成的最大任务数每分钟处理的事务数 功率最决完成单个任务所需的时间完成单个事务的时间 响应时间用户发出请求到接收结果经历的b j - i 司查询到结果显示的间隔 资源消耗在一个时间区间内硬件或软件资源占用量c p u 、内存的使用情况 系统代价软硬件和一定时间间隔内维护费用的总和5 年系统维护费用和软便件费用 华中科技大学硕士学位论文 吞吐量是每个时间单位完成的任务数。它测量在个时间间隔内完成多少任务, 但它不指出对一个单独的任务发生什么,以最大吞吐量来衡量系统的性能。“。其测试手 段一般是在不明显影响系统响应时间和代价的情况下,系统能够完成的最大任务数。 功率是完成单个任务所需的最短的时间。在事务处理系统中,它通常用来衡量执 行事务所需的最短时间。 对于一个测试系统来说,响应时间从用户的角度考虑,即为用户请求发出和结果接 收之间经过的时间,通常感兴趣的是平均值( 常用的包括算术平均值和几何平均值) 和 最坏情况的值。 资源消耗是在一个时间区间内软硬件资源占用量。对于测试系统来说,需要依赖 它来察看系统是否有更大处理能力,以及系统可能存在的性能瓶颈,从两有利于提出改 进方案,一般并不作为测试结果来发布。 系统代价是实现一个应用系统所花费的软硬件费用以及一定时间内系统的维护费 用的总和”1 ,测试系统常用它作为衡量性能价格比的因素。 2 影响性能的因素 一个数据库应用系统的性能取决于很多因素,包括硬件、应用程序、工作负载和无 数的操作系统与数据库参数等。表2 2 列出了一些常见的因素。 表2 2 影响系统性能的因素 因素详细描述 硬件网络连接的速度、带宽以及数据传输速度:c p u 的数量和速度、r a m 的速度和容量、 磁盘子系统的速度、容量和分布 自况等 应用程序数据库的逻辑与物理设计;事务控制的等级;产生的冲突和解决方案;查询语句的 写法以及存储过程的封装 工作负载负载的特性,典型的包括多:用户简单任务、少量用户复杂任务( 如大量i o ) 以 及多用户复杂任务等 操作系统并行服务和任务的数量:页面文件的大小、数量和调度策略:资源竞争等 数据库服务器的配置:资源的数量;并行操作的用户数量:事务的特征:锁的粒度与索引 的使用:数据分布、备份与恢复策略等 华中科技大学硕士学位论文 对数据库的o l a p 性能进行测试,首先要分析o l a p 系统的特点,主要是事务类型和 处理方法,其次要找出影响数据库o l a p 性能的关键因素,然后才能有针对性地构建出 测试系统。 2 3 联机分析处理系统的特点 联机分析处理是一种分析处理技术,它针对特定问题的联机数据进行访问和分析, 通过对大量信息的多种可能的观察形式进行快速、稳定一致和交互性的存取,允许管理 决策人员对数据进行深入观察,为其提供有效的信息,以便做出合理的判断”3 。 o l a p 行为通常包括o l a p 查询,这些查询也可以称为决策支持查询,它们是使用一 个或者多个聚集的非常复杂的查询,一个典型的例子是搜索总销售额增加或减少的产品 ”1 。用于o l a p 应用的联机分析查询通常需要检索大量的数据,即使查询结果相当小。 一个典型的联机分析处理系统如图2 1 所示。 商业分析 商业操作 图2 1o l a p 系统的体系结构 另外,o l a p 系统是建立在o l t p 系统之上的,它们的构建目的不同,在功能、特点 和实现手段上都存在明显的差别,这也导致其测试原理和方法存在很大不同。表2 3 列 出了o l a p 系统与o l t p 系统的区别”。 华中科技大学硕士学位论文 表2 3 联机分析处理与联机事务处理的区别 联机分析处理 联机事务处理 面向决策人员,支持管理需要,以便占有更大的市面向操作人员,支持日常常规操作为用户提 场、获得更好的投资回报 供快速响应 为少量( 通常是几个) 用户服务为大量( 成百上千) 并发用户服务 数据库的绝大部分是静态的数据库的很大部分是动态的 导出的、综合的数据原始的、细节的、当前的数据 数据处理量很大,通常都是在几百g b 以上数据处理量较小,通常以惦或g b 为单位 使用非常复杂的s q l 查询,具有较高的随机性处理大量使用简单s q l 语言的事务,操作重复 性相当高 执行大多数完整的表扫描或使用由数据库管理员只需扫描少量的细节数据 建立的汇总表来回答商业问题 可以花费几分钟到几小时运行s q l 查询希望以秒为单位完成事务 2 4d m t p c h 的系统设计 1 d m t p c h 的体系结构 性能测试通常和事务处理系统相联系,通过使用负载模拟程序完成。d m t p c h 采用 客户服务器结构,其测试负载以事务集的形式自动提交给系统,模拟许多并发用户在 客户节点进入事务的效果。其体系结构如图2 2 所示,应用逻辑控制器定制事务逻辑, 客户端根据制定好的事务类型,产生符合要求的事务,供应用逻辑控制器调度,并发送 给服务器端。服务器端接收客户端的请求,处理完毕后将结果返回给客户端。 ( 1 ) 客户端 查询流:是指由模拟用户所提交的一个查询集的顺序执行,而查询集是t p c 提供的 查询生成器产生的二十二个复杂查询的随机排列,每个查询的执行时间约几分钟到几十 分钟。符号s 用来表示在吞吐量测试期间所使用的查询流的数量( 功率测试期间只有单 个查询流和更新流) ,所有支持查询流运行的会话都必须用相同的方式进行初始化m ,。 更新流:是指t p c 提供的用于同步更新数据库的两个更新函数的顺序执行,每次更 ,一 华中科技大学硕士学位论文 新数据库中千分之一的数据,其目的是用于证明系统在执行复杂查询时仍能够提供数据 更新能力。支持更新流运行的会话初始化可以与支持查询流的会话初始化不同,但是所 有更新流的会话初始化必须相同”1 。 应用逻辑控制器:它提供图形化界面来实现事务的定制与调度功能,如可以让用户 输入一条或者几条s q l 语句作为一个事务,并能够控制每个事务之间的调度顺序和出现 频率,这样便可以较为容易地实现一个测试平台对不同的o l a p 基准实施测试。在o l a p 测试中,它控制2 2 个复杂查询以及两个更新函数的调度顺序,使得事务的产生和执行 方案都能够符合t p c 的要求,具体的调度和执行方案可以参考本文的4 2 节。 j 薹妻羹;ij 量妻囊il j 耋翥羹ii 客 j 更新流ljj 更新流2ij 更新流sj 客 o00三 应用逻辑控制器 彳 弋多 。 o l a p 工具 。 商裔南要 图2 2d m t p c h 体系结构 ( 2 ) 服务器端 在图2 2 中,服务器端o l a p 工具( 如s q ls e r v e r 的p i v o t t a b l e 服务埘) 接收来 华中科技大学硕士学位论文 自客户端的请求( 主要是复杂查询) ,它负责解释来自客户端的请求,发送给o l a p 服务 器进行处理,并将处理结果返回给客户端。 目前,d b 2 、o r a c l e 、s q ls e r v e r 等大中型数据库管理系统都已经针对o l a p 系统提 供了o l a p 服务器和相应的工具。2 。,以实现快速的数据访问。如o r a c l e 提供了一个m o l a p ( 多维o l a p ) 服务器e x p r e s ss e r v e r ,它利用多维模型,存储和管理多维数据库或多维 高速缓存,同时也能够访问多种关系数据库,通常把汇总数据存储在e x p r e s s 多维数据 库中,而将详细数据存储在o r a c l e 关系数据库中,当需要详细数据时,e x p r e s ss e r v e r 通过构造s q l 语句访问关系数据库。 具体地讲,o l a p 服务器主要负责的工作包括从关系数据库中提取数据、创建和处理 数据立方体以及以一种合适的存储模式存储数据立方体的数据。但是,考虑到以下两 个因素,我们决定暂时仍然采用传统的数据库服务器代替o l a p 服务器进行测试: d m 3 目前仍然没有提供实际可用的o l a p 服务器,不能像其它数据库一样采用o l a p 服务器进行测试; 受到当前设备条件的限制,只能对比例因子为1 ( 对应的数据尺寸约为1 g ) 的情 况进行测试,而在这个级别的数据量上进行测试,完全可以使用o l t p 数据库进行。虽 然目前各大数据库厂商公认的o l a p 数据量应该在1 0 0 g 以上,但是也存部分应用,它们 在那种数据量较小的系统上作分析处理,因此,测试l g 数据量时数据库的o l a p 性能还 是有意义的。 2 d m t p c h 的设计思想 d m - t p c h 的设计目标是:给定系统和数据库,通过测量单位时间内所处理的事务数 量,来衡量d m 3 事务处理能力,进而衡量硬件系统或数据库盼性能,发布客观的可证实 的性能数据以供使用。对于o l a p 系统来说,数据库中拥有大量历史数据,同时存在少 量( 相对其大量历史数据来说) 更新事务对其数据进行更新,决策者通过使用复杂查询 来辅助决策。因此,数据库所进行的主要操作就是执行o l a p 查询和数据更新事务。 d m t p c h 所采用的t p c h 基准中的事务设计就是由上面所说的面向商业的o l a p 查询 和具有一致性的数据更新事务组成。查询和数据更新操作都拥有明显适用于商业环境的 特征。也就是说,t p c h 执行了那些和典型的联机分析处理系统极端相似并有代表性的 工作,模拟了现实世界里的商务操作。其操作具有o l a p 系统的如下特点: 4 华中科技大学硕士学位论文 大数据量; 查询非常复杂; 回答了用于决策的商业问题。 鉴于性能测试的目的是为了提供一个客观的结果,同时与其它数据库产品进行比 较,因此,测试使用相同的硬件环境和软件平台,只有数据库管理系统的不同。对于表 2 1 所示的衡量数据库应用系统的性能需考虑的内容,分别采取如下方法: 吞吐量测试:t p c h 是i o 密集型标准,其o l a p 查询需要扫描大量数据才能回答 一个商业问题,通过多个模拟用户同时向服务器发送o l a p 查询,直到服务器端出现明 显的性能下降为止,这时可以测出其最大吞吐量。 功率测试:在单个查询流和更新流的情况下,可以测试出数据库的功率。 响应时间:因为是从用户的角度来度量,因此,计算复杂查询和更新函数的响应 时间应该从用户发出事务请求开始,直到服务器返回结果到客户端为止。 资源占用率:对于所有的测试,通过胜能监视器来记录资源使用信息。 系统代价:按照t p c - h 的要求,应该考虑测试系统中所有软硬件费用和5 年的 系统维护费用,但是由于是进行内部测试,采用相同的软硬件平台,对系统费用不需 进行计算。 2 5 小结 计算机系统的性能需求包括吞吐量、功率、响应时间、资源占用和系统代价这五个 方面,而对其性能进行衡量是一个需要进行综合考虑的相当复杂的任务。操作系统、数 据库、硬件配置、应用程序和网络环境等条件的不同都可能会极大地影响测试结果。 为了对d m 3 的o l a p 性能进行测试,并与其它数据库的性能进行比较,我们采取使 用相同的软硬件平台策略,使得整个测试系统只存在d b m s 的不同。针对o l a p 系统的 大量复杂查询和少量动态更新的特点,以及性能需求的五个要素,设计了对0 l a p 数据 库进行性能测试的系统体系结构和所需的事务类型。 华中科技大学硕士学位论文 3d m t p c h 的设计与实现 在本章将要进行d m t p c h 的逻辑数据库设计,生成并装入初始化数据,提供测试中 将要使用的复杂查询和更新函数。为了保证数据库能够正常工作,我们进行确认测试保 证数据正确的装入,在此基础上,讨论数据库系统特性并进行a c i d 特性测试。 3 1 逻辑数据库设计 d m - t p c h 采用了t p c h 的数据库设计,该基准以实际的零件定购和供应活动为模型。 其数据模型如图3 1 所示。 图3 1t p c h 的数据库设计模型 图中共包括八张表,它们之间存在的引用关系已经用箭头表示出来。其中,顾客 ( c u s t o m e r ) 定购( o r d e r s ) 零件( p a r t ) ,具体定购情况存放在订单细目表( l i n e i t e m ) 中,零件由供应商( s u p p l i e r ) 提供,供应情况存放在零件供应表( p a r t s u p p ) 中,顾客 和供应商在各自的地区( r e g i o n ) 和国家( n a t i o n ) 中。其中,订单和订单细目表占据 了大约8 3 的数据。 s f 是限制数据量的比例因子( s c a l ef a c t o r ,简写为s f ) 。比例因子的大小决定了 初始数据的大小,如s f = l 时,数据库中的对象个数为:5 个地区,2 5 个国家,l 万个供 应商,2 0 万个零件类型,8 0 万个零件供应情况,1 5 万个顾客,i 5 0 万个订单,6 0 0 万项 定购细目,总共8 6 0 多万条记录,所有的数据占用的空间约l g ,而装入数据库中大约需 要1 _ 2 g 左右的磁盘空间。根据t p c h ,s f 可以取的值可以为:l ,1 0 ,1 0 0 ,3 0 0 ,1 0 0 0 , 华中科技大学硕士学位论文 3 0 0 0 ,1 0 0 0 0 。除了r e g i o n 表和n a t i o n 表之外,各个表的记录数都随着s f 成比例增加。 如比例因子为3 0 0 时,l i n e i t e m 表中将含有3 0 0 * 6 0 0 万个记录。 3 2 数据生成与装载 1 通用数据生成器 在项目开发过程中,如何获取

温馨提示

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

评论

0/150

提交评论