18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > TPC-C基准(数据库)

TPC-C基准(数据库)

时间:2022-11-25 02:30:02 | 来源:信息时代

时间:2022-11-25 02:30:02 来源:信息时代

    TPC-C基准 : TPC组织(Transaction Processing Performance Council)发布的在线事务处理性能评价基准。基准通过严格定义的数据逻辑、事务逻辑以及实现细节,综合测试数据库系统的在线事务处理性能。基准描述了典型联机应用系统,并定义了在应用场景中度量数据库系统性能的规范。
基准草案6.6版于1992年6月22日完成,此后TPC组织不断地对其进行修正和更新,该基准日趋完善,目前的最新版本是5.8.0,发布于2006年12月14日。基准版本修订记录如下:
1992年6月22日: 草案版6.6;
1992年8月13日: 修订版1.0;
1993年6月1日: 修订版1.1;
1993年10月20日: 修订版2.0;
1995年2月15日: 修订版3.0;
1996年6月4日: 修订版3.1;
1996年8月27日: 修订版3.2;
1996年9月12日: 修订版3.2.1;
1997年1月15日: 修订版3.2.2;
1997年2月6日: 修订版3.2.3;
1997年4月8日: 修订版3.3;
1997年4月9日: 修订版3.3.1;
1997年6月25日: 修订版3.3.2;
1998年4月16日: 修订版3.3.3;
1998年8月24日: 修订版3.4;
1999年8月25日: 修订版3.5;
2000年10月18日: 修订版5.0;
2000年12月6日: 修订版5.0;
2001年2月26日: 修订版5.0;
2002年12月11日: 修订版5.1;
2003年12月11日: 修订版5.2;
2004年4月22日: 修订版5.3;
2005年4月21日: 修订版5.4;
2005年10月20日: 修订版5.5;
2005年12月8日: 修订版5.6;
2006年4月21日: 修订版5.7;
2006年12月14日: 修订版5.8.0。
TPC-C基准以一个大型的批发销售公司业务为背景。该公司分布在多个地理辖区,并且基于仓库管理。当业务扩展的时候,公司将添加新的仓库。每个仓库负责十个辖区的供货,每个辖区为3000个客户服务。每个仓库维护公司销售的100000种商品的库存记录,如图1所示。


图1 TPC-C数据库逻辑结构图


围绕批发销售公司的业务,基准为被测系统中的数据库定义了九张表,它们之间的关系如图2所示。表框里的数字表示该表将要存放多少条记录,仓库数w决定数据库所支持的数据规模,表间数据规模的比例关系由箭头上的数字表示。
表1描述了表的设计规模,包括记录规模和数据规模等。表中,“历史记录”可以有小量的变化,因为测试过程将会插入新记录或者删除现有记录;“商品”为固定个数,它表示商品的种类,不随着仓库的增减而变化; “典型记录长度”和“典型表大小”只是实现中的一个示例,并且没有包括存储和访问所需的额外空间; “订单”由于数据装载的随机因素,记录数可以有1%的变化。


图2 TPC-C数据库表逻辑结构


表1 TPC-C数据量估算表


数据表名称记录条数典型记录
长度(字节)
典型表大小
(千字节)
仓库1890.089
辖区10950.950
客户30 00065519 650
历史记录30 000461 380
订单30 00024720
新订单9 000872
订单明细300 0005416 200
库存100 00030630 600
商品100 000828 200


TPC-C基准中的事务模型由五种事务构成,涵盖了插入、删除、更新和查询等各种数据库操作。标准中定义的五种事务如下:
(1)新订单: 从固定的仓库中随机选取5~15件商品,创建新订单,其中1%要求由于假想的用户操作失败而回滚。其特点是: 中量级,读写事务,执行频繁,要求快速响应。
(2)支付:从固定仓库随机选取一个辖区及其内用户,采用随机的金额支付一笔订单,并作相应历史记录。其特点是: 轻量级,读写事务,执行频繁,要求快速响应。
(3)订单状态查询:从固定仓库随机选取一个辖区及其内用户,读取其最后一条订单,显示订单内每件商品的状态。其特点是: 中量级,只读事务,执行不频繁,要求快速响应。
(4)发货:随机选取一个发货包,更新被处理订单的用户账户余额,并把该订单从新订单中删除。其特点是: 10个批量,读写事务,执行不频繁,较宽松的响应时间。
(5)库存查询: 从固定的仓库和辖区选取最后20条订单,检查订单中所有货物的库存。计算并显示所有库存低于随机生成域值的商品数量。其特点是: 重量级,只读事务,执行不频繁,较为宽松的响应时间。
TPC-C的一个重要设计思想是采用延迟来模拟真实环境,要求每个模拟终端在执行每个事务的时候,模拟用户的键盘输入延迟和思考延迟。
图3描述了一个循环模拟的流程与模拟延迟在循环里的位置关系。此外还有一个非模拟延迟即服务器端的响应延迟。针对以上提到的键盘输入延迟、思考延迟和服务端的响应延迟,TPC-C标准对模拟延迟给出了模拟的均值分布等要求,对响应延迟给出了90%界限下响应延迟必须满足的约束条件,另外还对各种事物所占的比例进行了规定。


图3 事务运行流程与模拟延迟


表2给出了事务的混合比例与延迟要求。
基准规定了三个衡量指标:
(1)MQTh(maximum qualified throughput),单位是tpm C(transactions-per-minute-C)。
(2)每个tpmC所需的花费,即性能价格比。
(3)有效日期。
作为一项以OLTP性能测试为目标的评价基准,TPC-C的主要测试指标就是tpmC,即每分钟的事务处理数。在TPC-C标准中,这里的事务仅指新订单事务。由于存在模拟延迟,每一个模拟终端单位时间只能产生一定数量的事务。为了给被测数据库系统增加事务压力,就要增加模拟终端的数目。

表2 事务混合比例与响应时间约束


事务
类型
比例
下界
键盘输入
延迟下界
90%事务
响应延迟
思考延迟分
布均值下界
新订单无规定18秒5秒12秒
支付43%3秒5秒12秒
订单状态
查询
4%2秒5秒10秒
发货4%2秒5秒5秒
库存查询4%2秒20秒5秒


基准描述了各事务要求满足的ACID属性的各项测试及规范。只有每个事务都通过这些测试规范后,TPC-C测试结果才能被认为有效。
此外TPC-C基准还描述了测试系统的基本架构,被测系统和驱动系统终端以及其连接通信方式,系统计价的方法,测试过程的审计以及测试报告发布的相关规范。
TPC-C基准目前为国际上大多数软硬件厂商和组织所认可。

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭