数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
如何实施Benchmark标准测试(之一)---问题的提出及Tpc-C标准

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

如何实施Benchmark标准测试

---问题的提出及Tpc-C标准

Last Updated: Monday, 2004-10-18 16:36 Eygle
    

 

1.问题的提出

不管你实施怎样的一个系统,你可能都考虑过这样的一系列问题:

我应该采购怎样的设备?
我的系统性能如何?
我的系统能够承受多少用户?
我的系统能够承受多少并发?
性能问题会在何时出现?
我将在何时升级?


显然,回答这些问题并非那么简单,更多的人是根据经验给出一个经验值,用来评估系统.
但是在大系统设计过程中,经验显示是不足够的,你必须拿出足够的证据来说明你的架构,你的系统必须在理论上能够满足用户的需求.

到这里我们已经看到,一个最重要的内容被引入了,那就是:用户需求.
这符合经济规律,有需求才有发展,需求推动一切.于是也就有了今天我们要讨论的标准测试(benchmark).

最近一段时间,一直参与一个大系统的方案设计、规划与测试,现在把一些心得写出来,供大家参考.

2.TPC组织

关于Benchmark测试,最有名的就是TPC(Transaction Processing Performance Council,事务处理性能委员会)组织了.你可以在其
官方站点 www.tpc.org 获得更为详细的信息.TPC组织成立于1988年,由一些在计算机领域提供软硬件系统或者相关解决方案的原厂商组
成,会员从成立之初的8家公司发展到目前的50余家,IBM、NCR、HP、Oracle、Microsoft等国际著名公司均是其会员。总部设在美国,
并对全世界开放,但迄今为止,TPC组织绝大多数会员都是美、日、西欧的计算机软硬件大公司.

作为一家非盈利性机构,事务处理性能委员会(TPC)负责定义诸如TPC-C、TPC-H和TPC-W基准测试之类的事务处理与数据库性能基准
测试,并依据这些基准测试项目发布客观性能数据。TPC基准测试采用极为严格的运行环境,并且必须在独立审计机构监督下进行。委员会
成员包括大多数主要数据库产品厂商以及服务器硬件系统供应商。

TPC不给出基准程序的代码,而只给出基准程序的标准规范(Standard Specification)。
注意,这里我们提出在Benchmark测试中最重要的一个内容:标准规范.
你可能听到很多人这样对你说,TPC-C值不具有任何实际意义,任何测试都无法模拟真实生产环境中的负荷情况。
这总说法自然有其道理,但是未免片面了,或者说这种说法实际上曲解了TPC-C等标准测试的本意.
我们说Benchmark测试中最重要的是标准规范,也就是说,其实工具等因素是不重要的,只要大家都是用同一标准规范、同一工具进行系统
测试, 那么测试结果也就具有了比较意义.

从这个意义出发,benchmark测试实际上就成了各个厂商展示其技术实力的舞台.任何厂家或其它测试者都可以根据TPC组织公布的规范标准,
最优地构造出自己的系统,使用最优的平台和最高效的应用程序. 所以你可能听Oracle这样攻击过DB2,Oracle说:IBM进行的TPC测试使用的
都是Oracle数据库,而不是他们自己的DB2. 其实这个说法也是片面的,TPC-C测试的是OLTP的性能,而我们知道DB2在数据仓库方面才是真正
强大的.


为了保证测试结果的客观性,被测试者(通常是厂家)必须提交给TPC一套完整的报告(FullDisclosure Report),包括被测系统的详细配置、分
类价格和包含五年维护费用在内的总价格.该报告必须由TPC授权的审核员核实(TPC本身并不做审计). 现在全球只有几 个审核员,全部在美国.

TPC已经推出了四套基准程序,被称为TPC-A、TPC-B、TPC-C和TPC-D。其中A和B已经过时,不再使 用了.TPC-C是在线事务处理(OLTP)的
基准程序,TPC-D是决策支持(DecisionSupport) 的基准程序。TPC后来尝试推出的TPC-E,TPC-S,最终被放弃。

3.TPC-C

我们重点关注的是TPC-C测试.

TPC-C是一种旨在衡量联机事务处理(OLTP)系统性能与可伸缩性的行业标准基准测试项目。这种基准测试项目将对包括查询、更新及队列式
小批量事务在内的广泛数据库功能进行测试。许多IT专业人员将TPC-C视为衡量“真实”OLTP系统性能的有效指示器。

TPC-C基准测试针对一种模拟订单录入与销售环境测量每分钟商业事务(tpmC)吞吐量。特别值得一提的是,它将专门测量系统在同时执行其
它四种事务类型(如支付、订单状态更新、交付及证券级变更)时每分钟所生成的新增订单事务数量。独立审计机构将负责对基准测试结果进行
公证,同时,TPC将出据一份全面彻底的测试报告。这份测试报告可以从TPC Web站点(http://www.tpc.org)上获得。

tpmC定义: TPC-C的吞吐量,按有效TPC-C配置期间每分钟处理的平均交易次数测量,至少要运行12分钟

3.1TPC-C规范概要

TPC-C是专门针对联机交易处理系统(OLTP系统)的,一般情况下我们也把这类系统称为业务处理系统。

TPC-C测试规范中模拟了一个比较复杂并具有代表意义的OLTP应用环境:
假设有一个大型商品批发商,它拥有若干个分布在不同区域的商品库;每个仓库负责为10个销售点供货;每个销售点为3000个客户提供服务;
每个客户平均一个订单有10项产品;所有订单中约1%的产品在其直接所属的仓库中没有存货,需要由其他区域的仓库来供货。

该系统需要处理的交易为以下几种:

  • New-Order:客户输入一笔新的订货交易;

  • Payment:更新客户账户余额以反映其支付状况;

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

  • Order-Status:查询客户最近交易的状态;

  • Stock-Level:查询仓库库存状况,以便能够及时补货。

对于前四种类型的交易,要求响应时间在5秒以内;对于库存状况查询交易,要求响应时间在20秒以内。

逻辑结构图:

 

流程图:

3.2.评测指标

TPC-C测试规范经过两年的研制,于1992年7月发布。几乎所有在OLTP市场提供软硬件平台的厂商都发布了相应的TPC-C测试结果,随着计算
机技术的不断发展,这些测试结果也在不断刷新。

TPC-C的测试结果主要有两个指标:

● 流量指标(Throughput,简称tpmC)

按照TPC的定义,流量指标描述了系统在执行Payment、Order-status、Delivery、Stock-Level这四种交易的同时,每分钟可以处理多少个
New-Order交易。所有交易的响应时间必须满足TPC-C测试规范的要求。

流量指标值越大越好!

● 性价比(Price/Performance,简称Price/tpmC)

即测试系统价格(指在美国的报价)与流量指标的比值。

性价比越小越好!

关于这部分内容,在TPC-C的官方文档中可以找到详细的说明,你可以在以下链接获得TPC组织的官方文档:

http://www.tpc.org/tpcc/spec/tpcc_current.pdf

在IBM的官方网站上,你也可以找到部分说明:

http://www-900.ibm.com/cn/products/servers/pseries/tech/tpcc.shtml

目前TPC-C的版本是5.2.

 

 

 

本文作者:
eygle,Oracle技术关注者,来自中国最大的Oracle技术论坛itpub.
www.eygle.com是作者的个人站点.你可通过[email protected]来联系作者.欢迎技术探讨交流以及链接交换.

 


原文出处:

http://www.eygle.com/special/How.To.implement.Benchmark.Test.01.htm

 





相关文章

相关软件