前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【文章】数据库非共享集群性能测试方法研究

【文章】数据库非共享集群性能测试方法研究

作者头像
Criss@陈磊
发布2019-08-02 10:57:32
6490
发布2019-08-02 10:57:32
举报
文章被收录于专栏:测试技术圈测试技术圈

数据库非共享集群性能测试方法研究

1、 引言

目前,随着大型决策支持系统的发展,其支撑数据库的执行效率已经成为制约整个企业信息系统性能和效率提升的瓶颈。[1]尤其在电子商务领域,联机事务分析(OLAP)应用越来越广泛,对性能的要求也越发紧迫。联机事务分析是以多维度的方式分析数据,能弹性地提供积存、下钻和枢纽分析等操作,呈现集成性决策信息的方法。其目前主要处理兆兆(T)字节的数据,满足复杂的查询需求,尤其是对多张表中的千万条记录的数据进行数据分析和信息综合。而目前上述需求在关系数据库中已经不能完全的得到满足。[2]同时,商业应用领域对性能、可靠性和性价比的苛刻要求,催生了数据库集群的广泛应用[3]。数据库集群分为共享集群和非共享集群,而针对决策支持系统的业务处理,非共享集群有其固有的优势。[4]

但是目前对非共享集群的性能测试还处于执行单条数据库语句,统计时间比对处理效率的阶段,这并不能全面评价非共享集群对决策支持系统的支持结果。本文针对上述问题,基于TPC-H的OLAP数据模型设计了一套适合非共享集群的性能测试方法,并通过具体项目实施进行了验证。

2、 关键技术

2.1 数据库非共享集群特征

在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过高速专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供数据库服务。非共享数据库集群有完全的可伸缩性、高可用、高性能、优秀的性价比、资源共享等优势。[5]典型的无共享结构的并行数据库集群, 其性能特性在很大程度上依赖于数据库模式的划分策略及数据在各个节点的分布情况。[6]

2.2TPC-H基准模型

TPC-H是TPC(TheTransactionProcessing Performance Council,事务处理性能理事会)组织制定的-模拟决策支持类应用的一个测试原型,目前在学术界和工业界普遍被用于评价决策支持相关技术的性能。TPC-H用3NF(第三范式)实现了一个数据仓库,其中包含了8个基本关系,其数据量可以设定为从1G-3T不等。[7]

TPC-H基准测试是由一系列商业查询组成,包含了22条查询语句(Q1~Q22)和2条更新语句(RF1和RF2),其主要评价指标是(不是这个,分特,是那个什么每小时查询、性价比和什么复合查询什么的,你查下)。TPC-H是依据真实的生产运行环境建立的OLAP模型,这使其可以评估一些其他测试所不能评估的关键性能参数。TPC-H并不代表人和特定商业领域的活动,而是可以被应用到任何在全球范围销售、管理某种商品的行业。该基准测试主要的目的是减少信息分析应用中出现的操作多样性,同时又保留应用最根本的性能特征,也就是系统利用率和操作复杂度。[8]

3、 数据库非共享集群性能测试方法

3.1 测试基础数据选择和测试类型定义

数据库非共享集群性能测试采用TPC-H基准测试中的OLAP测试模型,通过TPC-H提供的数据生成工具(DBGen)进行生成基础数据。对非共享集群数据库的性能测试,首先要估算出该集群系统实际上线后的处理数据规模,依据实际数据规模产生测试的基础数据。

TPC-H基准设计的数据库由八个单独的表(基本表)组成[8],其实体关系图如下所示:

图1 测试数据库的实体关系图

其中:

n 每个表名后面的括号内为这个表的列名前缀;

n 箭头指出了表与表之间的一对多的关系;

n 每个表名下方的数字或公式表示表的行数。一些是SF(Scale Factor)中的因子,用来获得数据库的大小。

在数据库非共享集群测试中,主要针对数据库建表、大型复杂级联表查询和更新操作设计测试用例考核度量其性能特性。-。测试的主要内容如下表所示:

表1 测试内容

测试内容

详细

建表测试

在SQL工具中创建TPC-H基准模型规定的八张数据表(具体表结构请查询《TPC-H标准规范》),通过时间戳的方式统计数据库的处理时间,同时验证测试数据插入测试表格的正确性;

查询测试

顺序执行TPC-H基准测试标准中的22条查询语句(Q1~Q22),统计每条语句的耗时和集群中各节点服务器的资源利用率;

更新测试

依据TPC-H基准测试中的两条更新语句(RF1和RF2),对集群数据库中的数据进行更新操作,同时记录语句执行时间和服务器耗时情况,最后通过ACID(原子性、一致性、隔离性和持久性)特性检测确保操作的正确性。

3.2 数据库非共享集群测试策略

目前,商业模式的转变使得许多大型应用系统的客户在短时间内剧增,因此应用规模是否能够实现良好扩展,通过提升投资/收入比实现最大的商业利益,越发成为许多企业需要迫切解决的问题。对于通过非共享方式实现的集群数据库,节点的数量决定了集群数据库能提供的整体性能服务水平,通常情况下,节点数越多,集群数据库的整体处理能力越强,执行相同数据业务消耗的时间越少,并且服务器资源开销将分摊到多个节点服务器中,降低了每个服务器承受的压力,为其持续提供良好的性能服务奠定基础。

在本次测试中将重点关注在不同数量的节点下,单用户和多用户执行基准操作时集群数据库的时间特性和资源特性,以及节点数增长时数据库处理能力的提升能力,通过测试数据为企业制定扩展方案提供依据。

针对待考察的三类决策支持系统典型数据库业务,设计了如下的执行方案:

表2 基准测试和并发测试测试内容表

测试类型测试内容

基准测试

并发测试

建表测试

Y

N

查询测试

Y

Y

更新测试

Y

Y

如上表所示,其中基准测试的测试内容包含了建表测试、查询测试和更新测试;并发测试只针对查询测试和更新测试两大内容,为了保证集群数据库处理数据的一致性,以及方便测试结果的横向对比衡量,在本次测试中,对于不同数量的节点服务器环境,均在相同的数据规模条件下进行。具体的测试执行流程如下:

图2 数据库非共享集群性能测试流程

其中,基准测试中要求查询测试的返回结果保存到外部文件中,并需要在测试结束后对查询结果准确性进行验证;并发测试是采用多线程技术,模拟多用户并发进行数据表的查询和更新操作,同时为减少引入外部工具带来的额外开销和不确定影响因素,通过集群数据库自带的性能计数器监控各个节点的资源消耗情况。

3.3数据库非共享集群性能测试方法的应用

应用上述数据库非共享集群性能测试方法,在本次测试中对采用国产数据库搭建的非共享集群系统进行了性能测试(由于被测集群版本处于测试阶段,尚未发现,因此以下简称数据库集群D)。本次测试在100GB基础数据规模下,对对2,4,8节点非共享数据库集群进行性能考核,并发量设计为模拟50个用户同时操作。

对于基准测试,通过SQL执行工具执行创建表格、查询语句和更新语句,记录响应时间,保存SQL结果日志。其中集群中各种节点查询语句响应时间如下图所示,其中Q1、Q2…Q22是查询测试相应时间,RF1、RF2是更新测试响应时间。

图3基准测试的查询测试和更新测试耗时(单位:分)

并发测试采用Loadrunner调用Java程序实现,选择Loadrunner的JavaVuser协议,通过RuntimeSettings 中的ClassPath属性设置包含连接、查询、更新、断开的Jar包建立测试脚本,在场景中设置50并发用户进行测试,计算得出的各数据库操作平均响应时间如下图所示,,其中Q1、Q2…Q22是查询测试相应时间,RF1、RF2是更新测试响应时间。

图4 50并发测试的查询测试和更新测试语句耗时(单位:分)

4、 测试结果分析

通过测试结果可以看出,在单用户和并发模式下,随着非共享集群数据库系统中节点数量的增加,数据库操作的响应时均大大减小,集群数据库提供的性能服务水平均得到明显提升。但是受限于测试及优化时间,集群数据库的处理能力随着节点数的增加,基本呈现指数增长的趋势,但是还存在提升的可能性。

5、 总结

本文通过分析非共享集群数据库性能的特点,结合TPC-H基准测试的OLAP数据模型,设计了非共享集群数据库的性能测试方法,并通过对国产数据库非共享集群D的测试进行了验证,但是目前该测试方法还处于试验过程中,需要通过在更多的非共享集群数据库测试中得到完善。

参考文献:

[1] 周英飚.通用无共享数据库集群研究与实现[J]. 计算机工程与应用.2007,43(32):156-160.

[2] OLAP[BE/OL].http://zh.wikipedia.org/wiki/OLAP.2012.4.2

[3] Gancarski S,Naacke H,Pacitti E,et a1.Parallelprocessingwith autonomous databases in a cluster system[C].Proceedings of Onthe Move toMeaningful Internet Systems,DOA,CooplS andODBASE Confederated International Conferences. Heidelberg:Springer Berlin,2002,(2519):410-428

[4] David J D W, Jim G. Paralleldatabasesystems: the future of high performance database processing[J].Communicationsof the ACM, 1992, 35,(6) : 85- 98.

[5] 金蓉,龚卫华.基于无共享的数据库集群结构的设计[J].浙江理工大学学报.2007.24(4):448:452

[6] IBM Corporation. Meetingyourscalability needs with IBM DB2universal database enterprise- extendededitionfor Solaris operating environment[R].IBM white paper,1998

[7] 刘大为,栾华,王珊,谭飙.内存数据库在TPC-H负载下的处理器性能[J].软件学报.2008-10.19(10):2573-2584.

[8] Transaction ProcessingPerformanceCouncil. TPC BENCH-MARK H (Decision support) standardspecification.2012

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 质问 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档