(计算机系统结构专业论文)面向用户的oltp评测系统研究.pdf_第1页
(计算机系统结构专业论文)面向用户的oltp评测系统研究.pdf_第2页
(计算机系统结构专业论文)面向用户的oltp评测系统研究.pdf_第3页
(计算机系统结构专业论文)面向用户的oltp评测系统研究.pdf_第4页
(计算机系统结构专业论文)面向用户的oltp评测系统研究.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机系统结构专业论文)面向用户的oltp评测系统研究.pdf.pdf 免费下载

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

文档简介

摘要 长期以来,数据库服务器的性能评测研究基本上由服务器厂商进行,提供的性能指 标往往是用来与竞争对手进行性能攀比,而不是为用户的实际应用提供指导。本文从用 户需求的角度出发,研究实现了一套面向用户的o l t p 服务器评测系统。应用服务器的 性能评测一般包括负载定义、实现测试系统与系统的性能优化三个步骤,本文围绕这三 个步骤展丌,主要贡献如下: 首先定义了o l t p 评测系统的负载。本文提出了数据库服务器评测系统应从系统层、 事务层及表示层分析定义其负载。在第二章中,以t p c c 负载为基础,从三个层次详细 定义了o l t p 评测系统的负载。 接下来,实现了一套面向用户的o l t p 测试系统。该研究工作是在“计算所知识创 新研究课题一s e r v e r s c o p e 服务器性能测试仪”支持下完成的。s e r v e r s c o p e 是一套面向用 户的,旨在追求用户实际性能的评测系统。根据第二章定义的o l t p 负载,在s e r v e r s c o p e 中实现了o l t p 测试系统。本文的第三章介绍了该评测系统的设计思想、实现与特点。 最后,提出了面向应用的数据库服务器性能优化方法。对用户来说,测试不是目的, 而是为了发现问题,根据问题采取相应措施来改善性能。本文的第四章研究了在曙光结 点上进行o l t p 测试所采取的优化措旋,提出了面向应用的数据库服务器性能优化方法, 通过该方法的采用,优化之后的性能指标之一t p m c 是优化之前的2 7 4 倍。 关键词:性能评测、面向用户、o l t p 、t p c c 、s e r v e r s c o p e 、性能优化 r e s e a r c ho no l t pp e r f o r m a n c ee v a l u a t i o ns y s t e mo fc u s t o m e r - o r i e n t e d m i n gm e i ( c o m p m 髓a r c h i t e c t u r e ) d i r e c t e d b y f a n j i a n p i n g 、 t h ep e r f o r m a n c ee v a l u a t i o n so ft h ed a t a b a s es e r v e rw e r ea l m o s tc o n t r o l l e db yt h es e r v e rc o m p a n y w h a tt h e p e r f o r m a n c em e t r i c s a r ee s t a b l i s h e dn o tf o rt h ec o n s u m e r sp r a c t i c a lr e q u i r e m e n t sb u tf o rt h ec o m p e t i t i o nw i t h o t h e rc o m p a n i e s t h i sd i s s e r t a t i o np r o p o s e sac u s t o m e r - o r i e n t e dp e r f o r m a n c ee v a l u a t i o ns y s t e mo fo l t p s e r v e r t h es y s t e mi sb a s e do nt h er e q u i r e m e n to ft h ec u s t o n l e r s t h ep e r f o r m a n c ee v a l u a t i o ns y s t e mo ft h e a p p l i c a t i o n s e r v e rm a i n l yc o n s i s t so ft h t ep a r t s :t h ed e f i n i t i o no fl o a d ,t h ed e s i g no ft e s t i n gs y s t e m ,t h e p e r f o r m a n c et u n i n go f s y s t e m t h e m a i nc o n t r i b u t i o n so f t h i sd i s s e r t a t i o na r el i s t e da sb e l o w f i r s t ,t h el o a do f t h eo l t pp e r f o r m a n c ee v a l u a t i o ns y s t e mi sd e f i n e d t h ed i s s e r t a t i o np r o p o s e st h a tt h el o a d o f 岫d a t a b a s e s e r v e r t e s t i n g s y s t e ms h o u l d b e d e f i n e d b a s e d o n t h ea n a l y s i s o f s y s t e m - l e v e l t r a n s a c t i o n - l e v e l a n dt h ed e n o t a t i o n - l e v e l i nt h es e c o n dc h a p t e r , t h eo l t p t e s t i n gs y s t e m i sd e f i n e df i - o mt h r e el e v e l sb a s e do n t h et p c cl o a d s e c o n d ,ac u s t o m e r - o r i e n t e do l t ps e r v e rt e s t i n gs y s t e mi sr e a l i z e d t h er e s e a r c hi s s u p p o r t e db yt h ei c t i n n o v a t i o np r o j e c t s e r v e r s c o p e :i n s t r u m e n tf o rp e r f o r m a n c ee v a l u a t i o no f s u p e r - s e r v e r t h es e r v e r s c o p e i sas e to f c u s t o m e r - o r i e n t e d t e s t i n gs y s t e mw h i c hi sd e s i g n e db a s e do nt h ec u s t o m e r sp r a c t i c a lp e r f o r m a n c e r e q u i r e m e n t t h eo l t pt e s t i n gs y s t e mi sr e a l i z e di nt h es e r v e r s c o p e t h et h i r dc h a p t e rw i l li n t r o d u c et h e m a i ni d e a ,t h ed e s i g nm e t h o d sa n dt h ec h a r a c t e r i s t i c s , f i n a l l y , t h ep e r f o r m a n c et u n i n gm e t h o d so f t h ed a t a b a s es e r v e rb a s e do na p p l i c a t i o n sa r e p r e s e n t e d t h et a r g e t o f t h el l s e r si sn o tt h et e s tb u t f i n d i n g t h ep r o b l e m sa n dp e r f o n m n c e l a m i n gb a s e do n 也ep m b l e r n s t h ef o u r t h c h a p t e r s t u d i e dt h et u n i n gm e t h o d so f t h eo l t p t e s to nd a w n i n gn o d ee x t e n s i v e l y t h ep e r f o r m a n c e t u n i n g m e t h o 出b a s e do n a p p l i c a t i o n sa r ep r o p o s e d o n eo ft h ep e r f o r m a n c em e 确c st p m cc a r lr e a c h2 7 4t i m e so f t h e p e r f o r m a n c e b e f o r e t u n i n g k e y w o r d s :p e r f o r m a n c ee v a l u a t i o n ,c u s t o m e r - o r i e n t e d ,t p c c ,o l t p , p e r f o r m a n c e t u n i n g i i 声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得 的研究成果。就我所知,除了文中特别加以标注和致谢的地方外,论文中不 包含其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所 做的任何贡献均已在论文中作了明确的说明并表示了谢意。 作者签名:胡媚日期:动。中f “ 关于论文使用授权的说明 中国科学院计算技术研究所有权处理、保留送交论文的复印件,允许论 文被查阅和借阅;并可以公布论文的全部或部分内容,可以采用影印、缩印 或其它复制手段保存该论文。 储锛刚届聊戳:协弓嘲姗以 第一章:引言 第一章引言 随着网络及信息化的发展,商业应用服务器丌始在整令服务器应用中占用越来越大 的比例,而商业应用中,数据库服务器的应用占据了绝对的优势,在2 0 0 3 年的一份中国 行业用户服务器产品应用与需求调查分析报告中的数据表明,主要的服务器应用中8 9 3 的应用需要数据库服务器。数据库服务器的应用非常广泛,但是对数据库服务器的性能 评测研究基本上由服务器厂商自己进行,服务器厂商通常会根据主流的基准,结合自己 的服务器特点,实现一个测试系统,进行性能评测,提供的性能指标往往是用来与竞争 对手进行性能攀比,而不是为用户选型提供指导。本文从用户的需求出发,研究实现一 种旨在追求用户实际性能的面向用户的数据性能评测系统,并以该系统为基础,提出了 一种面向应用的数据库系统性能优化方法。 1 1 数据库应用系统概要 数据库应用系统可以分为两大类:联机事务处理系统( o l t p ) 和决策支持系统 ( d s s ) 。这两类应用有着很大的不同。o l t p 用短小和中等复杂程度的查询语句,读 取或修改整个数据库中一个非常小的部分,数据的访问方式是小的随机磁盘访问,往往 有大量的并发用户对数据库进行操作,绝大部分商业应用属于这一类。而d s s 以运行时 间较长和比较复杂的查询为主,通常以只读方式扫描数据库中较多的数据,对磁盘进行 大量的顺序访问,有时数据被获取后还需要大量的统计,数据的更新一般周期性的进行。 1 2 性能评测的特定领域特性 目前计算机已经运用到各行各业,深入到生活的方方面面,在不同的应用中,用户 追求的计算机性能并不一样。比如在计算密集型的应用领域中,用户希望尽可能快的获 得运算结果,在数据密集型的应用系统中,用户希望尽可能快的查找到需要的数据,而 在通信密集型的应用中,用户希望尽快接受到到传输的消息。正是因为用户对计算机性 能需求的千差万另0 ,计算机发展至今,劳没有一个放之四海的性能评测标准,而往往是 选择一个特定的领域进行性能研究,即:计算机系统性能评测是通过评测程序获得特定 计算机系统运行预定任务或任务集的性能特征 1 。 每个特定领域都可以模拟一个典型应用负载,生成的相应负载可以测试系统在此领 域的相对性能 2 】,因此在各个领域出现了互不通用的基准。就服务器来说,有对数据库 等商业应用服务器的性能评测研究,有对服务器c p u 处理峰值的研究,有对计算性能的 研究,但是c p u 处理速度基准不能用来衡量数据库服务器的性能,因为数据库系统 的性能不仅仅是由c p u 决定的,还与i ,o ,网络等通讯设备以及相应的软件算法和数据结 面向用户的o l t p 评测系统研究 构,数据的存取路径等因素有关。就数据库服务器本身而言,由于o l t p 与d s s 系统追 求羞完全不同的性能指标,他们的负载基准也不能一概而论。在特定领域类进行性能评 测研究,为该领域的系统提供性能参考与指导才具有实际的指导意义 3 ,因此本文进行 了针对o l t p 应用的数据库性能评测的研究。 1 3 关系数据库系统性能评测研究现状 数据库性能评测的目的主要有三个:选型、调优和设计 4 。具体而言,是指在众多 的配置方案中选择一个最优性价比的数据库服务器系统:对已有系统的性能缺陷和瓶颈 进行测试分析,改进和提高其运行效率:对未来设计的系统进行性能预测,在性能成本 方面实现最佳设计和配置。数据库性能评测要能够反映数据库服务器对特定应用的处理 能力及效率。考虑到数据库这一特殊的商业应用,一般的数据库性能评测主要通过以下 指标中的一个或多个指标进行衡量:一类指标是各种吞吐率,如系统在单位时间内能处 理正常事务的个数,该指标主要用来反映o l t p 应用系统的性能。另一类指标是各种响 应时间,即系统的完成特定事务所需的时间,该指标主要用来反映d s s 应用系统的性能。 再一类指标是各种利用率,即在给定的事务执行期间,各种部件( 包括硬设备和软系统) 的利用率,这类指标是反映整个数据库服务器的各种资源利用情况,可以通过该指标来 探测系统中存在的瓶颈。 数据库性能评测从2 0 世纪8 0 年代开始受到数据库研究者的关注,一路发展至今, 数据库基准不断推陈出新,它们为比较和预测数据库性能,指导数据库系统的设计,进 行数据库研究及推进数据库应用起了很大的作用。下面简要介绍一下目前存在的关系数 据库服务器性能评测基准。 t p c 系y 0 1 5 1 1 3 :t p c 是一个非盈利的商业应用基准组织。根据不同的商业应用,t p c 系列基准定义了用户在应用中的行为特征以及用户的交互行为,全面给出了基准的数据 结构定义,并针对用户需求给出性能度量指标,然而t p c 组织并没有基于自己定义的基 准来实现完整的测试系统,要进行t p c 测试的用户需自己实现相应的钡g 试系统进行测试 分析,并由t p c 相关的审核人员对测试进行审核。商业应用中的主要应用是数据库应用, t p c 组织针对数据库应用的性能评测提供了相应的基准。t p c c 基准模拟的是o l t p 应 用系统中的负载,t p c r 模拟了查询可预测的d s s 应用系统负载,t p c h 模拟的是查询 不可预测分析的d s s 应用系统的负载。 a s 3 a p ( a n s is q l s t a n d a r ds c a l a b l ep o r t a b l eb e n c h m a r k ) 6 】【3 :这个基准出现较早,目 前似乎没有商业组织使用该标准进行性能评测,主要应用在学术研究上。该测试标准部 署简单,定义了易处理的测试集,可扩展,可移植,易实现。该基准的数据库结构简单: 由5 个关系组成,一个由一行一列组成,用来记录测试开销,另四个u n i q u e s ,h u n d r e d , t e n p c t ,u p d a t e s 有同样的表结构,由l o 个不同的列组成,数据库大小可以从4 m b 扩张 第一荦:引言 到4 0 0 g b 。测试有单用户测试与多用户测试。单用户测试包括数据装入,数据备份以及 查询和更新语句的测试。多用户测试对用户数进行了定义,用户数= 逻辑数据库大d v 4 m , 多用户测试包括o l t p 测试,信息检索测试,以及融合短事务,记录查询,关系扫描及 长事务的混和负载测试。提供的性能指标为数据库等价率,即测试系统在1 2 个小时内, 能完成指定的单用户和多用户测试集时数据库的最大值。 o s d b ( o p e n s o u r c ed a t a b a s eb e n c h m a r k ) 7 :o s d b 是一个开源数据库测试框架,以 a s 3 a p 基准为基础,为系统和数据库开发者提供了一个出色的测试框架代码块。这些代 码块可以根据实际的应用需求进行修改。它的突出特点是测试框架的分段,使得开发者 可以把注意力集中在跟他们的工作联系最密切的结果上。与a s 3 a p 相比,两者之间的差 别:a s 3 a p 的性能指标单一,o s d b 提供了许多可选的性能指标,你可以选择你所需要 的;a s 3 a p 需要完备的s q l 指令,而o s d b 取消了这一限制。 o a s b ( o r a c l ea p p l i c a t i o ns t a n d a r db e n c h m a r k ) 8 :用来评测o r a c l e 应用的性能,定义 了可测量、可比较的负载标准,提供了在不同的系统配置上进行o r a c l e 应用性能比较的 性能指标。定义的负载有1 8 个o l t p 事务+ 7 个b a t c h j o b ,负载的选取集中在e r p 应用 上,包括o r a c l e 金融应用:a c c o u n t sp a y a b l e ,a c c o u n t sr e c e i v a b l e ,f i x e da s s e t s ,g e n e r a l l e d g e r 。o r a c l e 供应商管理应用:i n v e n t o r y ,o r d e re n t r y ,p u r c h a s eo r d e r s 。提供的性能指 标包括用户数与平均响应时间,其中用户数为系统能够保证预先定义的响应时间时的并 发o r a c l e 应用用户数。 除r 以上几个关系数据库评测基准外,还有一些开放源码的数据库基准,比如: d b h a m m e r ,它定义的数据库结构非常简单,是一个模块化,简单快速的数据库基准工 具,它依赖于可交换共享的对象及后端数据库的连接与交流。另一个开放源码是 o s d l _ d b t 系列的基准,它的负载选取基于t p c 系列,但是它仅仅借用了t p c 的数据 结构以及事务仿真,忽略了用户的行为。 1 4 面向用户的数据库性能评测的意义 目前进行数据库性能评测研究的机构主要是数据库厂商与服务器厂商。对于数据库 厂商来说,每种数据库基本上都有自己相应的基准,数据库自带的基准一般是用来做压 力测试,表明数据库自身的优势,并不关心真正的数据库应用系统的性能。对于服务器 厂商来说,他们进行的性能评测研究的目的往往是与其竞争对手进行性能攀比,一般会 采用主流的数据库基准进行测试。现在应用比较广泛的是t p c 系列基准,各服务器厂商 根据t p c 基准,结合自己的服务器特性,开发出套t p c 测试系统进行钡0 试,由相关人 员进行审核认证之后公布测试结果。另一个被主流服务器厂商用来进行性能评测的基准 为o a s b 。 不管是数据库厂商还是服务器厂商进行的性能评测研究,他们出发点是向用户证明 3 面向用户的o l t p 评测系统研究 自己的产品性能很好,他们的出发点决定了他们进行的数据库性能评测研究并不能反映 实际的数据库应用系统的性能。首先,我们查看t p c 以及o a s b 网站上公布的数据库服 务器的性能评测报告,可以发现,无一例外,这些被评测的服务器均为大型服务器,而 对于在商业应用中广泛采用的中小型服务器,用户很难得到可参考的性能测试报告。其 次,厂商做测试的系统与用户实际应用的系统总是存在较大的差别,厂商为了得到具有 竞争力的性能,往往给被测系统配置很高的硬件,附加很多外部设备,屏蔽系统中与测 试无关,但是在实际应用中需要的服务,从而使得测试结果并不完全可信。 除了服务器厂商及数据库厂商对数据库性能的评测研究之外,也有不少学术机构对 其研究,在学术研究上,一般也采用了t p c 系列基准,通过配置适当规模的t p c 负载, 分析各种系统结构下,数据库事务的响应情况,对支持商业应用的系统设计提供参考。 研究的目的在于提出能够更好的支持数据库应用的体系结构。 不管是厂商还是目前的学术研究,他们的出发点都不是使用数据库服务器的用户。 对于用户来说,他们关心的是在特定的硬件配置以及特定的应用下,整个数据库系统能 否满足他们所期望的性能。考虑到以上因素,本文提出了一种面向用户的数据库服务器 性能评测系统。该评测系统不仅能够为商业用户选购产品提供可靠的性能测试信息,同 时也可以促进厂商之间的趋性竞争,为用户提供性价比更高的产品。 对于数据库服务器来说,合理的数据库优化技术能够显著提高数据库服务器盼陛能, 优化之后的性能可能是之前性能的数倍,因此对数据库服务器的性能评测往往与优化相 结合,在评测结果中进行分析,找出系统瓶颈所在,进行合理优化,再次测试,往复进 行,直到优化出最佳的性能指标。通过对所实现的测试系统的验证分析,提出了一种面 向应用的数据库优化技术。 1 5 本文的贡献 本文针对目前的数据库服务器性能评测主要服务于服务器厂商,提出了一种面向用 户的数据库服务器性能评测系统。主要的贡献包括: 通过对当前数据库服务器应用的分析与数据库服务器性能评测负载的研究,提出 了数据库服务器评测系统应从系统层、事务层及表示层分析定义其负载。本文以 t p c c 为基础,从三个层次详细定义了o l t p 评测系统的负载。该负载是一个典 型的o l t p 系统,模拟的是一个零售批发商业应用系统。该商业应用的规模既可 以是一个小型的零售商店,也可以是具有许多分销商的大型商业集团。但是该负 载并不代表某一特殊的商业应用,任何具有管理、销售与事物分派的商业应用都 可以用该负载进行模拟仿真。 实现了面向用户的o l t p 数据库服务器测试系统。在旨在追求用户实际性能的 4 第一章:引言 s e n , e r s c o p e 系统中实现了符合第二章定义的o l t p 负载的数据库测试系统。该系 统在软件上采用了面向对象与框架式的设计方法,在硬件上借助刀片式服务器作 为测试的客户端,从而实现了一个易用,易部署,测试规模易扩展,钡9 试成本小 的面向用户的o l t p 测试系统。 提出了一种面向应用的数据库服务器优化方法。该方法的基本指导思想为:从应 用的角度来进行分析研究,以数据库管理员的身份进行性能优化。首先分析应用, 采用与应用相关的优化措施,首先分析该应用是o l t p 应用还是d s s 应用,据 此分析是否应该采用m t s 服务器方式,随后分析应用中的数据操纵情况,合理 分配数据对象的存储参数。然后进行数据库的常规调整,即根据数据库的性能检 测工具检测到的信息,调整各种相关参数,包括数据库工作区的调整,以及基于 等待事件采取相应的优化措施。 1 6 论文的组织 本文的篇章组织结构如下: 第一章简要介绍了数据库服务器性能评测研究现状,说明了本文的研究目的及意义。 第二章从分析特定领域的评测系统的负载选取原则出发,提出了作为数据库应用评 测系统,应该从表示层,事务层及系统层三个层次分析其负载特性。着手研究o l t p 数 据库应用系统的特点,以o l t p 应用的典型代表t p c c 基准定义的负载为基础,从系统 层,事务层及表示层详细定义了面向用户的o l t p 评测系统的负载。 第三章介绍了面向用户的o l t p 评测系统的设计思想及实现。 第四章通过使用实现的o l t p 评测系统在4 0 0 0 l 节点上的测试,总结实测经验,提 出了一种面向应用的数据优化方法。 第五章为结束语,对全文做出总结并提出下一步预进行的工作。 第二章:负载分析定义 第二章负载分析定义 一般来说,开发一个服务器评测系统首先而且必须要解决两方面的问题:测试目的是 什么以及测试负载如何选取。作为一个评测系统,它首先要有明确的测试目的,有具体 的实际意义,能够解决实际工作中的具体应用。本文研究的评测系统目的在于提供面向 用户的o l t p 数据库服务器的性能评测。其次,由于实际的o l t p 应用系统千差万别, 实际负载较为复杂并伴随着应用的发展,可能出现新的负载,同时还可能包含多种异常 负载,评测系统不可能模拟所有可能的负载。评测系统中的负载应尽量简单,同时不失 为o l t p 系统的典型代表。 2 1 负载简介 在任何给定的时间间隔内,用户输入的各种程序、数据和命令的集合,以及向系统 提出的各种处理请求,所有这些输入及提交请求的信息,统称为系统的负载 9 】。一个应 用系统的性能是由运行该应用的软硬件结构和咳应用的负载决定的。因此性能不能独立 与系统负载,在评价一个系统的性能时,必须指明此性能是在何种工作负载中获得的。 不对系统要处理的负载做出规定,就不能对系统性能给出评价。各种系统性能的比较, 也只有在各种被比较的系统有相同的工作负载时,才有意义。同样评测某一应用能否在 一特定系统中取得较好的性能,也只有当评测系统的负载能够反映该应用的特性,评测 结果才有指导意义。 评测系统的负载应该是实际工作负载的抽象,是应用中一系列有代表性的操作的合 成,它在计算机软硬件系统执行中产生近似实际工作负载的系统资源需求。个好的评 测系统的负载,能够更好的评价系统应用性能,并帮助分析实际负载,找出实际工作的 负载特征。通过评测系统负载特征的分析,可以分析出应用中哪些功能引起瓶颈,并通 过改进系统结构处理这个瓶颈,提高系统在该应用f 的性能。 2 。2 评测系统中负载选取的原则 用户进行性能评测是为了知晓服务器能否满足实际的应用需求,因此评测系统的负 载要能够反映o l t p 这个特定领域的应用特点,即要从实际的应用中选取有代表性的操 作。为了使评测系统能够对o l t p 这类应用系统进行性能预测,性能评估,而不单单 是针对某一个应用,评测系统中选取的负载应该具有以下特点; 代表性:就是说评测系统的负载应当具有同一应用类型的共性操作,从同应用类 型的不同应用中抽取事务操作,建立负载模型。负载应当和实际负载相近,来源于实际 应用,但又高于实际应用,是对同一类型应用特点的归纳、抽取、重建,能够较真实地 面向用户的o l t p 评测系统研究 反映各种应用,在这样的负载下测试的性能指标才更有实际意义a 简洁性:就是说评测系统的负载在能够反映该特定领域的应用的情况下应当包含尽 可能少的实际数据类别和实际负载行为。一方面即使同一个应用,随着业务的发展,也 可能发生事务操作的改变,新的事务可能出现,更不要说同一类型的应用中新事务的层 次不穷了,想在负载中穷尽所有可能的事务是不现实的。另方面较多的数据类别和负 载行为可能造成较高的测试成本。 系统无关性:就是说评测系统的负载与操作系统、硬件平台无关,仅仅跟应用有关。 也即不管运行在何种系统上的应用,都是该负载的一个实例。 可扩展性:就是说可模拟的应用系统规模可扩展,小到几十个并发用户的系统大到 几百上千的并发用户系统。 2 3 数据库服务器评测系统的负载选取 数据库服务器应用作为商业应用的一大分支,与其它的服务器应用相比,它有着自 己特殊的特性,因此在建立数据库服务器的性能评测系统时,其负载的选取要结合数据 库服务器的特性。从功能上来说,数据库应用系统包括表示层、事务层、系统层三个层 次,其不同层次的功能描述如下: 表示层:主要考虑系统客户端的用户与系统交互的一些行为。包括菜单选择、输入、 提交事务、输出等行为。该层的负载重在模拟应用系统与客户的交互功能,也即系统的 一些 j o 操作。表示层的工作重在分析应用系统中客户端用户的行为,定义出用户行为的 范围,通过在这特定范围内进行随机输入与随机选择来模拟用户的行为。 事务层:在商业应用中,对数据库系统的操作越来越多的表现为事务操作。事务层 相当于数据库应用的本体,它是将具体的业务处理逻辑地编入程序中。用户对数据库系统 的性能期望一般表示为单位时间内能够完成的事务数。因此,对数据库系统的性能评测 研究中,对其负载的抽取,事务是一个至关重要的考虑因素。 系统层:也即d b m s 层,负责管理对数据库数据的读写,它是在系统逻辑资源的基 础上建立的。主要考虑的是数据库的实例,数据结构。包括数据库的实例关系图,数据 的存储结构。不同的应用中有不同的数据结构,要选择有代表性的数据结构建立评测系 统的负载。 从上面可知,表示层负责终端用户与系统的交互,事务层负责终端用户与系统进行 了什么样的交互,系统层则负责处理用户提出的请求,这三个层次的行为都将最终影响 整个数据库服务器的性能,因此,在负载选取,要从这三个层次分析考虑。 2 4o l t p 评测系统的负载定义 本文研究的是面向用户的o l t p 服务器的评测系统,对于这样一个评测系统,其负 载必须满足既能代表o l t p 这类应用的典型特点,同时又要跟用户的具体应用具有最 第二章:负载分斩定义 大的相似度,由于负载必须满足这两个自相矛盾的特点,使得评测系统的负载定义往往 成为开发评测系统的难点。 t p c c u o 是一个典型的o l t p 测试系统基准,它模拟的是一个o r d e v e n t r y 商业应用 系统,已被主流服务器厂商广泛接受,目前服务器厂商会根据自己的服务器特点实现一 套相应的t p c c 测试系统,对其服务器进行性能评价,服务器厂商提供的性能测试报告 主要是用来进行同行之间的性能拼比。考虑到t p c c 的典型代表性以及其被广泛采用及 接纳,本文研究的面向用户的评测系统选取的负载以t p c c 为基础来实现,下面将从系 统层、事务层及表示层三个层次详细说明o l t p 评测系统的负载。 2 4 1 系统层负载 系统层就是数据库服务器的d b m s 层,在进行钡4 试之前,担负着测试数据库的创建 及被测系统所需数据的初始化,在测试过程中,负责管理对数据库数据的合理读写。考 虑到系统层的功能,在该层的负载选取上要考虑到以下几方面:根据负载模拟的商业应 用类型,抽象出数据库中的关系即数据库表结构;定义数据库的实例关系图;定义被测 数据库系统的初始信息。 本文的测试负载是以t p c c 负载为基础实现的,因此具有t p c c 基准的些特性。 评测系统模拟的是一个库存、销售商业系统,但该评测系统并不针对特定的商业应用, 可以评测含有管理、销售、分发产品、服务的任何商业应用( 例如:汽车出租,食物分 配,零件供应等等) 。评测系统中模拟的是一家仓库销售供应商的商业应用,供应商拥有 一批分布在不同地方的仓库和地区分公司。当公司业务扩大时,将建立新的仓库和地区 分公司。通常每个仓库供货覆盖l o 家地区分公司,每个地区分公司服务3 0 0 0 名客户。 公司共有1 0 0 ,0 0 0 种商品,分别储存在各个仓库中。图2 1 描述了仓库、地区分公司、 客户的隶属关系。 图2 1 :商业应用模型 评测系统中,数据库由9 个实例关系即9 个表组成,详细的表结构定义见附录a , 9 面向用户的o l t p 评测系统研究 一一 图2 2 为表之间的e - r 实例关系图,其中: 1 实体块中的数字表示表的行数,这些数字以仓瘁数w 为因数,决定数据库的缩 放能力。 2 赣头及其上的数字表明了表之溺的关系。 3 在箭头上的数字和表的行数后的加号表示随着测试的运行,数值可能变化a 图2 2 :e - r 实体哭系图 在实际的商业应用中,数据库中存贮了各种各样的信息,一个没有信息含量即数据 的数据库系统毫无意义。在我们所实现的面向用户的o l t p 评测系统中,为了能够真实 评测用户的数据库应用系统,在开始测试之前,需要给数据库初始化相应的数据,我们 采用了t p c c 所定义的初始基准,对应于单个w a r e h o u s e ,数据库的初始化需求如下表2 1 所示。当进行实际测试时,根据用户的需求及被测服务器的配置情况,确定相应的测试 系统规模,该测试规模最终是由w a r e h o u s e 数控制的,在d b m s 层配置个w a r e h o u s e 要对应子客户端模拟1 0 个终端用户,反过来,当知道了实际应用拟支撑的并发用户数之 后,就可以最终确定需要初始化的w a r e h o u s e 数,根据w a r e h o u s e 数,可以确定9 个袭需 要配置的初始数据量,即穰据被溪l 试应用豹实际w a r e h o u s e 数,配置相应规模的数据库初 始数据量。 表2 。l :单个w a r e l x m s e 所对应的各个表的拐始数据量 表名表的行数定义的行长3 ( 单位:b y t e s )表中的数据量3 ( 单位:k b ) w a r e h o u s el8 9o 。0 8 9 d i s 砸c t1 09 50 9 5 0 c u s t o m e r3 0 k6 5 5】9 6 5 0 h i s t o r y o 3 0 k4 6 i ,3 8 0 o r d e r 43 0 k2 47 2 0 n e w o r d e r 49 k87 2 0 r d e r - 1 i n e 43 0 0 k5 4 1 6 ,2 0 0 s t o c kl o o k3 0 6 3 0 ,6 0 0 n e m 2l o o k8 28 2 0 0 0 第二章:负载分析定义 一 表的上角标说明: 1 表明随着测试过程中插入与删除操作的执行,数据量会发生小的变化。 z 表明该袁中的数据不会随着数据库规模的扩展而改变,即不会随着w a r e h o u s e 表中 数据行数的变化而变化。 ,表明是要装入表中的实际数据量的大小,并不包括在数据文件中存贮及访问的额 外开销。 t 表明在测试过程中,由于随机数的选择,允许该表中的数据量有1 的偏差。 2 4 。2 事务层负载 事务层负责终端客户提交给系统的任务如何操作完成,也即当用户提交一事务时, 该事务对数据库做了哪些操作,修改了数据库中的哪些数据,当事务不能正常完成时, 数据库系统该如何处理该事务等。考虑到事务层的功能,在事务层负载的定义中,要考 虑以下几方面:确定模拟的商业应用中的代表性事务,定义每个事务执行的操作以及事 务不能正常执行时的回滚情况。 在模拟仿真的o r d e r - e n t r y 应用系统中,消费者通过终端与系统的交互主要有下订单 定购商品与查询订单是否已经被商家处理过,商家通过终端与系统的交互有:查询消费 者的支付情况、发送已支付订单的货物与查询货物库存情况。不管是消费者还是商家, 在与系统进行交互的过程中,均需向系统提交信息,因此每一个事务都存在一个填写信 息的击键时间( k e yt i m e ) ,同时当提交了一个事务之后,消费者或者商家可能会稍微考 虑一下接下来会进行什么操作,这样一来就存在一个思考时间( t h i n kt i m e ) 。另一个需要 考虑的因素是消费者与商家与系统的各种交互并不是均匀分布的,不同的行为有不同的 提交频率。 为了真实模拟终端上的操作行为,该评测系统定义了n e w o r d e r 、p a y m e n t 、o r d e r - s t a t u s 、 d e l i v e r y 、s t o c k 1 e v e l 五种事务来模拟以上消费者及商家与系统的交互行为,五种事务之 问的比例以及击键时间与思考时间可以根据实际测试用户的需求设定,默认情况下,我 们采用t p c c 中的定义,见表2 2 ,这五种事务对数据库进行的具体操作见附录b ,这里 给出五种事务的概要操作及事务回滚倩况。 表2 2 :事务比例图 事务类型击键时间思考时间( 负指数分布的均值)事务的最小百分比 n e w o r d e r1 8 s1 2 sn a p a y m e n t 3 s1 2 s4 3 0 o t a l e r - s t a t u s2 sl o s4 0 d e l i v e r 7 2 s5 s4 0 s t o c k 1 e v c l2 s5 s4 0 面向用户的o l t p 评测系统研究 2 4 2 1n e w - o r d e r 事务 n e w o r d e r 事务用来仿真消费者向商家提交一个购物订单,当系统接收到用户请求的 n e w o r d e r 事务后,会做出一系列的操作来响应该事务:首先创建一个订单报头,包括系 统根据用户提交的信息查询用户下订单处商品的折扣情况以及用户的信用度,在系统中 记录多接收了一笔新订单,然后处理用户所定购的商品,包括查询用户所定购的各种商 品的库存情况及价格,然后根据用户定购的商品数量以及当地的折扣情况计算出用户的 这个订单的消费总额,返回给消费者。 n e w o r d e r 事务是中重量级的读写事务,要求响应时间较短,能够满足在线用户的需 求,其涉及到的数据库操作为:创建订单报头由2 行数据检索、l 行数据检索并更新与2 行数据插入组成;定购商品处理的数据行数与用户订单中定购的商品种类有关,对于每 一种商品,其数据库操作由1 行数据检索、l 行数据检索并更新与1 行数据插入组成。 在该事务中,定义每个客户端定购的商品种类数在5 到1 5 之间随机选择,平均每个 用户定购1 0 种商品,用户定购的每种商品9 9 的情况下由用户所在地供货,当然在实际 的应用种存在着这样的情况,即:用户可能定购了系统中不存在的商品,这样的话, n e w o r d e r 事务执行过程中,遇到了查找不到用户定购商品的情况,需要向用户返回该商 品不存在的消息,该事务不能正常执行,则之前执行的修改了数据库种信息的操作需要 进行回滚操作。定义了该事务有1 的概率进行回滚。 2 4 2 2p a y m e n t 事务 p a y m e n t 事务是用来仿真商家查询更新客户的支付差额以及统计地区与仓库的支付 情况。当系统接收到商家发送来的p a y m e n t 事务请求之后,根据p a y m e n t 事务提交的信 息,首先修改相应仓库与地区的销售收入情况,然后修改对应消费者的支付情况,并根 据支付情况修改消费者的信用度,最后把这一笔支付情况记录到历史数据中,以便以后 进行帐目核算。 p a y m e n t 事务是轻重量级的读写事务,要求响应时间短。负载中,对该事务做了以下 定义:在消费者支付消费的商品时,8 5 的客户选择在自己所在的地区付款,1 5 的客户 随机选择地区付款。同时,当消费者进行支付时,可能不记得自己的唯一身份证号,只 记得自己的姓名,这时,商家只有通过消费者的姓名来查找消费者的相关信息,因此在 定义p a y m e n t 事务时,定义其执行过程中6 0 的客户是以姓氏查找,4 0 的客户是以客 户编号查找。 p a y m e n t 事务涉及到的数据库操作为:当消费者在进行支付时提供了自己的身份证号 作为自己的身份认证时,该事务包括3 行数据检索与更新及1 行数据插入的操作:当消 费者通过自己的姓名进行身份认证时,该事务包括平均2 行数据检索、3 行数据检索并更 新与l 行数据插入的操作。 第二章:负载分析定义 2 4 2 3o r d e r - s t a t u s 事务 o r d e r - s t a t u s 事务仿真的是消费者在定购了商品之后,查询商家对订单处理情况,即 查询自己近期所下订单的状态,当系统接收到消费者提交的o r d e r - s t a t e 事务之后,根据用 户提供的信息,首先查找该用户支付情况及核对身份的相关信息,然后根据用户的身份 查找出该用户最近所下的订单,最后根据该用户的订单查找订单上商品的发货情况,返 回给用户定购商品的数量及金额以及什么时候发货等信息。 o r d e r - s t a r e s 事务是中重量级的只读事务,响应时间要满足在线用户的需求。负载中, 对浚事务做了以下定义:用户在查询自己的订单状况时,可能提供的是自己的身份证号, 也可能只提供了自己的姓名,定义该事务中客户是以姓氏进行查询的概率为6 0 ,以身 份证号进行查找的概率为4 0 。 o r d e r - s t a t u s 事务涉及到的数据库操作为:首先查找用户及其最近的下的订单,当消 费者通过身份证号查询订单状况时,该操作由2 行数据检索完成,当消费者是通过姓名 查询时,该操作由平均4 行数据检索完成;然后查询订单中每种商品的发货情况,该操 作将执行订单中包含的商品数个检索。 2 4 2 4d e l i v e r y 事务 d e l i v e r y 事务仿真应用场景为:对l o 个新订单处理后,指定一个送货人,负责从仓 库发货送给消费者。系统接收到该事务后,根据商家提供的发货仓库所在地及发货负责 人,首先查找仓库所在区域最早下的订单并且还没有发货的前l o 个( 每个地区一个) 新 定单,随后在删除这一新定单记录,在这些订单中加入发货人的信息,然后在该订单中 的每类商品加入发货时间信息,最后修改消费者的收支结余及发货信息。 d e l i v e r y 事务包括对至多1 0 个没有发货的新订单的批处理,对每个新订单的发货处 理是一个完整的读写数据库事务。该商业事务对响应时间要求不是很高。 d e l i v e r y 涉及到的数据库操作为

温馨提示

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

评论

0/150

提交评论