微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 国产数据库TPC-C基准性能测试应用与分析

国产数据库TPC-C基准性能测试应用与分析

时间:11-13 来源:中国软件评测中心 点击:

 随着十二五规划国家重大专项的制定发布,将国产数据库的发展列入国家基础软件重点支持对象之一。同时,国产数据库的应用也变得越来越广泛,目前需要对国产数据库的质量与国外数据库质量进行对比的需要日益迫切,而重点又围绕着数据库处理的效率问题。因此,我们选择了TPC-C的测试标准对此加以测试。本文描述了TPC-C的标准,同时提出了TPC-C的的设计与实现方式,最后通过国外Oracle数据库与国产数据库的对比性能测试实例给出了TPC-C测试的流程与方法,为实施数据库性能测试提供了指导依据。

  1、 TPC-C概述

TPC-C测试标准是TPC(Transaction Processing Performance Council)委员会公布的一个用于衡量在线事务处理系统性能和性能价格比的测试标准。TPC组织定义了一套严格的TPC-C的测试模型和架构为实现其相应的软件提供依据和标准,业务模型主要是依据实际批发商业活动作为其设计模型。TPC-C规范是专门针对联机交易处理系统(OLTP系统)的,一般情况下我们也把这类系统称为业务处理系统。这类系统具有比较鲜明的特点,这些特点主要表现如下。

· 多种事务处理并发执行,充分体现了事物处理的复杂性;

· 在线与离线的事务执行模式;

· 多个在线会话终端;

· 适中的系统运行时间和应用程序运行时间;

· 大量的磁盘I/O数据流;

· 强调事务的完整性要求(ACID);

· 对于非一致的数据分布,使用主键和从键进行访问;

· 数据库由许多大小不一、属性多样,而又相互关联的数据表组成;

· 存在较多数据访问和更新之间的资源争夺。

此标准可以在TPC的网站提供免费下载。同时发布的TPC-C的报告中,给出了物理服务器的名称、操作系统类型、数据库类型、是否集群、tpmC和性价比等。从中可以看出只要符合TPC-C测试标准开发的应用,同时固定其中的配置,变化被测的对象,如物理服务器、操作系统和数据库,就可以它们进行横向的基准测试,通过tpmC的优劣来评估被测对象的好坏。

  2、 TPC-C的设计

TPC-C测试标准的主要设计目标是:1)模拟包括更新操作和只读操作的多类型事务;2)模拟不同特征的事务处理,包括在线式(对响应时间有严格要求)和延时式(对响应时间的要求比较宽松);3)所有事务必须严格符合ACID特性;4)拥有复杂的数据结构和联系;5)采用多样的数据访问方式;6)模拟重负载下达数据库上的多用户并发操作。下图为TPC-C的设计模型。

图 1 TPC-C设计模型-资料来源于中国评测

TPC-C测试用到的模型是一个大型的商品批发销售公司,它拥有若干个分布在不同区域的商品仓库。当业务扩展的时候,公司将添加新的仓库。每个仓库负责为10个销售点供货,每个销售点为3000个客户提供服务,每个客户提交的订单中,平均每个订单有10项产品,所有订单中约1%的产品在其直接所属的仓库中没有存货,必须由其他区域的仓库来供货。同时,每个仓库都要维护公司销售的100000种商品的库存记录。

TPC-C测试系统数据库由9张表组成,它们之间的关系如图所示。

图 2 TPC-C测试系统数据库-资料来源于中国评测

其中,表框里的数字表示该表将要存放多少条记录,仓库数W的调整在测试中能够体现数据库所能够支持的数据规模的能力;表间的数字表示表数据的父子关系之间儿子的个数,比如一个Warehouse要对应10个District等,另外,“+”号表示这种对应关系可能会更多。

该系统需要处理的交易事务主要为以下几种。

· 新订单:客户输入一笔新的订货交易;

· 支付操作:更新客户账户余额以反映其支付状况;

· 发货:发货(模拟批处理交易);

· 订单状态查询:查询客户最近交易的状态;

· 库存状态查询:查询仓库库存状况,以便能够及时补货。

有关事物的具体描述如下。

· 新订单:其主要事务内容为对于任意一个客户端,从固定的仓库中随机选取5~15件商品,创建新订单。其中1%的订单,要由于假想的用户操作失败而回滚;该事务的主要特点为读写、频繁、要求响应快,是系统中最典型的操作,也是系统处理中的主要工作量,最终也是以数据库系统每分钟能够处理的新订单数来对数据库系统的性能进行评价。

· 支付操作:其主要事务内容为对于任意一个客户端,从固定仓库随机选取一个辖区及其内的用户,采用随机的金额支付一笔订单,并同时将该订单记录为相应历史订单。该事物的主要特点为10个批量、读写、较少、较宽松的响应时间。

· 订单状态查询:其主要事务内容为对于任意一个客户端,从固定仓库随机选取一个辖区

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top