Oracle RAC和TimesTen性能研究

2015-12-24 01:52彭彬邓荣伟吴玑震翁亚伟
湖北汽车工业学院学报 2015年1期
关键词:测试数据高性能基准

彭彬,邓荣伟,吴玑震,翁亚伟

(湖北汽车工业学院电气与信息工程学院,湖北十堰442002)

Oracle RAC和TimesTen性能研究

彭彬,邓荣伟,吴玑震,翁亚伟

(湖北汽车工业学院电气与信息工程学院,湖北十堰442002)

依据吞吐率这个性能评价指标,基于TPC-C测试基准,使用Swingbench对Oracle的RAC和TimesTen产品进行了性能测试,并对测试数据进行统计学分析。结果表明:RAC的性能与RAC节点数之间有极高的相关性,不同复制技术下的TimesTen性能有显著差异,其中基于读写分离的TimesTen有10倍单节结点RAC的吞吐率均值,性能最好。

性能;吞吐率;测试基准;TPC-C

在信息技术领域,常用响应时间和吞吐率来衡量一个系统或者组件的性能。2个概念本质上是统一的,前者从客户角度来评估性能,而后者从系统角度来评估性能。近年来,高性能这个词在数据库界被广泛使用,各大数据库厂商纷纷推出自己的所谓高性能产品,为用户构建企业级高性能数据库应用提供了更多的产品支持,但同时也增加了用户选择产品的难度。因此研究高性能数据库产品的性能特点,可为用户的产品选择和合理投资提供参考依据,这对于构建高性能数据库应用有现实意义。

RAC和TimesTen是Oracle公司推出的2款高性能产品,用户在构建基于Oracle平台的企业级高性能应用时,同样也存在着产品选择和投资决策问题:如选择TimesTen还是多节点RAC,若选择TimesTen又需采用哪种复制技术,选择多节点RAC又需创建多少节点才合理。目前国内尚无TimesTen的性能研究文献,而关于RAC的性能研究都没有关注用户关心的RAC性能与RAC节点数关系的问题,如文献[1]只是简单比较了单、双结点RAC的性能差异,文献[2]只研究外存对RAC性能的影响。本文中将基于业界公认的测试基准,利用开源测试工具,从吞吐率的角度研究RAC性能与RAC节点数之间的关系以及不同复制技术下TimesTen的性能差异,为用户构建和升级高性能数据库应用提供参考依据。

1 TPC-C测试基准与测试工具

1.1 TPC-C测试基准

所谓测试基准(Benchmark)是一种用来测试计算机软件或硬件某一方面性能的规范[3]。由于不同类型的数据库业务所涉及的CRUD负载的分布密度有较大差别,所以需依据数据库产品所支持的业务类型来建立其测试基准。

TPC(Transaction Processing Performance Council,事务处理性能委员会)是一个定义事务处理与数据库性能测试基准标准规范的组织,其提供的TPC系列基准已经成为软/硬件厂商认可的工业基准。TPC-C是TPC于1992年发布的面向联机事务处理型数据库产品的性能测试基准[4],该基准模拟一个批发公司的在线处理业务,从事务支持能力、执行时间、数据及其访问方式等方面综合测试一个数据库产品的性能[5]。

TPC-C测试基准模拟的批发公司拥有若干个仓库,每个仓库至多为相邻的10个街区供货,1个街区至多服务3000个客户,每个仓库维护100,000种商品的库存;当业务扩展到新的街区时,公司可以添加新的仓库,如图1所示。批发业务涉及Warehouse、District、Customer、History(客户定货历史)、Order、Order-Line(订单明细)、New-Order、Item、Stock(库存)等9个实体,如图2所示。

图1 TPC-C模型

图2 TPC-C实体及其规模

TPC-C定义了不同CRUD分布的5种业务:1)New-Order(下单),代表执行频率高且响应时间短的写事务,限定有1%的事务会回滚。2)Payment(付款),代表执行频率高且响应时间短的写事务,对查询关键字有限定。3)Order-Status(订单查询),代表执行频率低且响应时间短的只读事务。4)Delivery(发货),一次处理订货时间最长的10个订单,代表执行频率低且响应时间长的读写型批事务。5)Stock-Level(库存报警),查询最近售出的库存在一定数量以下的所有商品,代表执行频率低且响应时间长、一致性要求低的只读事务。

5种业务的约束如表1所示。TPC-C用每分钟处理的最大订单数作为系统性能的衡量指标,每个订单都涉及上述5种业务。显然,TPC-C是用业务吞吐率来衡量系统的性能。

表1 业务约束

1.2 Swingbench简介

Swingbench是一款免费的Oracle测试工具,配有多个测试模块,其中的Order Entry模块支持TPC-C测试基准[6],性能计算用式(1)表示:

式中:U为并发用户数;N为平均每个用户每分钟发出的业务请求数;M1、M2、M3分别为用户业务请求中更新、查询和统计3种业务所占的比例;T1、T2、T3分别为平均每个更新、查询、统计业务所产生的事务数;O为一天内高峰值处理量与平均值的倍数;A为一个工程经验系数,B为服务器保留的冗余系数。

为满足TPC-C测试基准,测试前需要设置上述参数,本文中采用系统缺省设置:

2 Oracle RAC性能研究

2.1 RAC简介

Oracle RAC(Real Application Cluster,真正应用集群)是Oracle公司从Oracle9i开始提供的数据库产品,它可在多台计算机上安装共享同一个存储设备的数据库实例,每一个安装了数据库实例的数据库服务器称为RAC的一个节点,这些节点能并行访问存储设备[7],如图3所示。

图3 Oracle RAC体系结构

2.2 测试环境配置

本文中使用Oracle 11.2配置RAC测试环境,节点安装Linux操作系统,相关配置参数见表2。

表2 RAC测试环境配置

2.3 测试数据及分析

本文中依次配置了1~5个节点的RAC环境,每种RAC环境均进行3次测试,测试数据见表3。

表3 RAC测试数据 tpmC

表4结果说明平均吞吐率与RAC节点数之间存在极高的相关性,图4也反映了这种关系。但由于相关系数不为1,故二者之间不是完全的线性关系,图4中平均吞吐率后期增势逐渐平缓也验证了这一点。这就说明RAC的优势可能侧重于可以提供(N-1)的宕机容灾能力,不能单纯通过增加RAC节点数来追求系统性能的快速提升。

表4 平均吞吐率与节点数的相关性分析

图4 RAC节点数与平均吞吐率关系曲线

3 TimesTen性能研究

3.1 TimesTen简介

TimesTen全称为Oracle TimesTen In-Memory Database,是一内存优化的关系数据库,其数据驻留在内存,可以作为单独的数据库使用,也可作为高速缓存或者嵌入式数据库部署在应用层,用户可以通过JDBC、ODBC、ODP.NET、OCI、PRO*C/C++使用标准的SQL和PL/SQL编程接口访问[8],如图5所示。为保证TimesTen的可用性,一般在系统中配置2个TimesTen节点,节点之间选用负载均衡、读写分离或者双机热备份等技术作数据实时复制。

图5 TimesTen结构

3.2 测试数据及分析

本文中使用TimesTen 11.2搭建TimesTen测试环境,配置了2个TimesTen节点,主要测试不同数据实时复制技术下的TimesTen性能特点。测试数据见表5,统计分析见表6。

表5 TimesTen测试数据 tpmC

表6 单因素方差分析(α=0.05)

由于P值0.0000115远小于置信度α,因此从统计学意义看,3种复制方式下的TimesTen性能有着显著差异。由图6可以看出,基于读写分离技术的TimesTen性能最好,基于双机热备技术的Times Ten性能最差,基于负载均衡技术的TimesTen性能居中。究其原因,双机热备技术中只有一台服务器对外提供服务,故性能最低;负载均衡技术依靠网络完成缓存融合,性能受网络负载的影响大;而读写分离技术由于只借助网络完成复制,受网络负载影响小,故性能最高。

此外,基于读写分离复制技术的TimesTen平均吞吐率几乎是单节点RAC的10倍(图6),由此说明TimesTen是提升用户系统性能的首选产品。

图6 TimesTen与单节点RAC平均吞吐率对比

4 结束语

RAC和TimesTen作为Oracle的高性能产品,都能提高系统性能,但测试数据表明TimesTen更具优势,是追求性能提升的首选产品。

可以预测,把RAC与TimesTen集成(图7),为使用频率较高的小型应用提供一个双节点、读写分离的TimesTen,对于使用频率较小的大型复杂应用,直接与Oracle RAC连接,应该是一个既具有高性能,又具备宕机容灾能力的组合系统。

图7 TimesTen与RAC的集成

[1]周晓丹,冯少荣,薛永生.Oracle 10g RAC核心技术研究与分析[J].计算机工程,2007(4):53-55.

[2]黄苏雅.ORACLE 11G RAC OLTP海量数据库的存储架构设计及性能分析[D].上海:上海交通大学,2010.

[3]于戈,王欣晖,王国仁,等.TPC-C测试标准及其在面向对象数据库上的设计与实现[J].计算机科学,1998

(3):57-60.

[4]冯丹青,周海鹰,左德承,等.基于TPC-C基准的高端容错机评测系统的研究[J].计算机研究与发展,2010(S1):15-21.

[5]Transaction Processing Performance Council.TPC BENC HMARK™C-Standard Specification,Revision 5.11[EB/ OL].[2014-10-20].http://www.tpc.org/tpcc/spec/tpcc_current.pdf.

[6]Dominic Giles.Swingbench[EB/OL].[2014-10-20].http://www.dominicgiles.com/Swingbench.pdf.

[7]Prusinski,Ben Jaffer Hussain,Syed.Oracle 11g R1/R2 Real Application Clusters Essentials[M].Olton,Birmingham,GBR:Packt Publishing,2011:22-23.

[8] Oracle.Oracle TimesTen Application-Tier Database Cache Introduction,11g Release 2(11.2.2)[EB/OL].[2014-10-20].http://docs.oracle.com/cd/E21901_01/doc/timesten.1122/21631.pdf.

Research on Performance of Oracle RAC and TimesTen

Peng Bin,Deng Rongwei,Wu Jizhen,Weng Yawei
(School of Electrical&Information Engineering,Hubei University of Automotive Technology,Shiyan 442002,China)

According to the throughput rate,based on TPC-C benchmark,the performance of Oracle RAC and TimesTen was tested with Swingbench,and the test data was handled with statistical analysis.The results show that the performance of RAC has high correlation with RAC nodes,TimesTen’s performance under different replication technology makes a significant difference,and TimesTen with write read separation replication technology has 10 times the throughput rate of the single node RAC and has the best performance.

performance;throughput rate;Benchmark;TPC-C

TP311.13

A

1008-5483(2015)01-0056-04

10.3969/j.issn.1008-5483.2015.01.012

2014-10-20

湖北汽车工业学院大学生创新训练项目(SJ201439)

彭彬(1971-),男,湖北十堰人,副教授,从事Web工程、网络与数据库方面的研究。E-mail:pengbinhust@163.com

猜你喜欢
测试数据高性能基准
下期要目
测试数据管理系统设计与实现
应如何确定行政处罚裁量基准
一款高性能BGO探测器的研发
高性能砼在桥梁中的应用
基于自适应粒子群优化算法的测试数据扩增方法
明基准讲方法保看齐
空间co-location挖掘模式在学生体能测试数据中的应用
滑落还是攀爬
SATA推出全新高性能喷枪SATAjet 5000 B