首页 > 其他分享 >TPC-H(1)

TPC-H(1)

时间:2022-12-03 16:32:26浏览次数:53  
标签:TPC 测试 OLTP 事务处理 标准 TP1

事务处理性能测试委员会TPC(Transaction process performance Council)是一个专门负责制定计算机事务处理能力测试标准并监督其执行的组织,其总部位于美国。该组织对全世界开放,但迄今为止,绝大多数会员都是美、日、西欧的大公司。TPC的成员主要是计算机软硬件厂家,而非计算机用户,它的功能是制定商务应用基准程序(Benchmark)的标准规范、性能和价格度量,并管理测试结果的发布。 比较不同系统的性能优劣需要公共的衡量标准,它不仅可以帮助用户做出购买决定,而且也可以帮助厂商进行产品推广和市场宣传。

TPC解决了计算机软件系统性能评价标准的纷争与混乱,为用户和厂商提供了双方的利益。TPC的标准还可以裁剪,以更恰当地表示具体的系统。许多政府部门和公司都购买TPC标准作为其特定计算机系统性能评价体系的基础。 TPC的出版物是开放的,可以通过网络获取(http://www.tpc.org)。TPC不给出基准程序的代码,而只给出基准程序的标准规范(Standard Specification)。任何厂家或其它测试者都可以根据规范,最优地构造出自己的系统(测试平台和测试程序)。为保证测试结果的客观性,被测试者(通常是厂家)必须提交给TPC一套完整的报告(Full Disclosure Report),包括被测系统的详细配置、分类价格和包含五年维护费用在内的总价格。该报告必须由TPC授权的审核员核实(TPC本身并不做审计)。现在全球只有几个审核员,全部在美国。

TPC系列测试标准的发展

80年代初,随着计算机技术的飞速发展出现了一种新的在线计算模式,与70年代占统治地位的批量计算模式不同,它采用相对单纯的方式直接通过在线数据库系统进行简单的事务处理,由此也宣告了OLTP事务处理模式(On-Line Transaction Process在线事务处理)的诞生。商业日常事务处理自动化的第一个应用程序是自动提款事务处理(Automated teller transaction—ATM)。在商业化社会,谁拥有最好的OLTP,谁就可以赢得更多的客户。但要证明谁是最好的,就需要建立一种广大客户能够普遍认可的测试标准。

80年代中期,IBM提出了TP1(Transaction Process)测试标准,TP1主要是度量系统在批模式下处理ATM事务的性能。但TP1标准有两个缺陷:一是忽略网络和OLTP系统中用户交互部分的系统开销,因而可能产生不真实的性能报告;二是标准的定义太贫乏,并且无法监控标准测试的执行过程。因此,TP1的影响较小,只得到了少量的用户认可。

1985年2月1日,Jim Gray与其他24位来自科学界和工业界的同仁发表了一篇名为《事务处理能力的度量(A Measure of Transaction Processing Power)》的文章。文中提出了一种在线事务处理能力测试方法,称为”借方信任”(DebitCredit)法。与TP1标准不同,Gray提出的标准是一种真正的系统级标准,其中包括了网络和用户交互的开销。DebitCredit标准发布前后,工业界的情况非常混乱,没有一个标准来监督测试的执行和结果发布。从1985年到1988年,一些厂商随意用TP1或DebitCredit进行测试,有些厂商甚至删掉DebitCredit标准中的一些关键要求以期改善他们的测试结果。

直到1988年8月10日,作为ITOM(为中小企业提供IT技术支持的国际知名公司)创立者之一的OmriSerlin,成功说服8家公司成立了TPC,系统评测领域的混乱状况才开始出现了新的气象。TPC在1989年11月发布了其成立后的第一个标准,即TPC-A。TPC-A与DebitCredit的不同点主要在于:要求90%的事务处理应在2秒内完成;将每个测试系统需要的交互终端数降低到10台,而且规定终端的费用应包含在系统价格中。

第一个TPC-A结果报告是在1990年7月发布的。4年后,TPC-A达到其顶峰——33家公司接受了TPC-A测试,115个不同的系统发布了TPC-A的测试结果。TPC-A澄清了混乱的市场,将上世纪80年代中期建立的TP1和DebitCredit模型法典化,形成了标准。但是,TPC的成员们很清楚,必须随着计算机技术的进步,不断提出更完善、更贴近现实应用的测试标准和模型。

上世纪90年代初,TPC又发布了两个新的测试标准:用于替代TPC-A的OLTP测试新标准TPC-C和决策支持系统测试标准TPC-D。TPC-C公布于1992年7月,TPC-D公布于1994年4月。TPC-C和TPC-D在其各自的领域都获得了普遍的接受。1999年,TPC发布了决策支持系统测试新标准TPC-H,用以替代原有的TPC-D,从而进一步完善了其决策支持系统测试模型;2007年,TPC发布了OLTP测试新标准TPC-E,目的在于替代原有的TPC-C,新的TPC-E测试标准更真实更准确的模拟了现有的OLTP模型,但由于TPC-C测试是一个较为成熟、被计算机厂商及用户广为接受的测试模型,所以替代过程不是一蹴而就,目前TPC-C标准仍被使用。2004年,TPC发布了应用服务器测试标注TPC-App。

截至目前,TPC现有的测试标准为:TPC-E、TPC-C、TPC-H、TPC-App。根据这4个测试基准,目前TPC主要包括的4个技术小组委员会:TPC-E 技术小组委员会、TPC-C 技术小组委员会、TPC-H技术小组委员会、TPC-App技术小组委员会。前期TPC使用过但目前已经停止使用的测试标准有:TPC-A、TPC-B(数据库处理能力测试标准)、TPC-D、TPC-R(决策支持系统测试标准,类TPC-H)、TPC-W(Web处理能力测试标准)。

TPC测试标准分类

联机在线事务处理系统(OLTP)测试标准:TPC-C、TPC-E(最新)

决策支持/大数据(DS)测试标准:TPC-H、TPC-DS(最新)

服务器虚拟化(VMS)测试标准:TPC-VMS

OLTP测试标准

由于数据库的应用一般有两种,一种是OLTP,即在线联机事务处理,另一种是数据挖掘。就目前来说,OLTP仍然是主流应用。所以从一定程度来说,TPC-C和TPC-E的结果对于数据库系统采购都有一定的参考价值,比如银行、证券、税务报税系统、电子商务网站、电信业务等都是比较典型的OLTP应用。

TPC-H

TPC-H(商业智能计算测试) 是美国交易处理效能委员会(TPC,Transaction Processing Performance Council) 组织制定的用来模拟决策支持类应用的一个测试集.目前,在学术界和工业界普遍采用它来评价决策支持技术方面应用的性能. 这种商业测试可以全方位评测系统的整体商业计算综合能力,对厂商的要求更高,同时也具有普遍的商业实用意义,目前在银行信贷分析和信用卡分析、电信运营分析、税收分析、烟草行业决策分析中都有广泛的应用。

TPC-H 基准测试是由 TPC-D(由 TPC 组织于 1994 年指定的标准,用于决策支持系统方面的测试基准)发展而来的.TPC-H 用 3NF 实现了一个数据仓库,共包含 8 个基本关系,其数据量可以设定从 1G~3T 不等。TPC-H 基准测试包括 22 个查询(Q1~Q22),其主要评价指标是各个查询的响应时间,即从提交查询到结果返回所需时间.TPC-H 基准测试的度量单位是每小时执行的查询数( QphH@size),其中 H 表示每小时系统执行复杂查询的平均次数,size 表示数据库规模的大小,它能够反映出系统在处理查询时的能力.TPC-H 是根据真实的生产运行环境来建模的,这使得它可以评估一些其他测试所不能评估的关键性能参数.总而言之,TPC 组织颁布的TPC-H 标准满足了数据仓库领域的测试需求,并且促使各个厂商以及研究机构将该项技术推向极限。

标签:TPC,测试,OLTP,事务处理,标准,TP1
From: https://blog.51cto.com/u_15867943/5908582

相关文章

  • TPC-H(2)
    Q01统计查询Q02WHERE条件中,使用子查询(=)Q03多表关联统计查询,并统计(SUM)Q04WHERE条件中,使用子查询(EXISTS),并统计(COUNT)Q05多表关联查询(=),并统计(SUM)Q06条件(BETW......
  • c# HttpClient post get 同步调用
    ///<summary>///发起GET同步请求///</summary>///<paramname="url"></param>///<paramname="headers"></param>///......
  • 【干货】超详细!TPC7062封装MQTT协议教程
    【干货】超详细!TPC7062封装MQTT协议教程一.功能简介通过将报文分解为16进制格式的字符串(比如:101C00044D51545404C2),再通过TPC-7062进行组包,利用串口服务器的TCP/IP协议栈连接......
  • 使用HTTPCLIENT去生成静态HTML页面
    一般生成HTML页时,都会用比如freemarker等去搞,但今天看到和学到一个还应该不错的方法,是使用httpclient的get方法,去读某个动态的URL,然后把读出的内容再......
  • HttpClient的三种超时
    HttpClient的3种超时说明/*从连接池中取连接的超时时间*/ConnManagerParams.setTimeout(params,1000);/*连接超时*/HttpConnectionParams.setConnectionTimeout(params......
  • .NET6之MiniAPI(二十二):HttpClient
    说明:本篇不是说明HttpClient怎么使用,而以分享在asp.netcoreminiapi框架下,HttpClient的引入和使用方式。我们在业务开发中,免不了调用三方的服务,这时就会用到Htt......
  • .NET6之MiniAPI(二十二):HttpClient
    说明:本篇不是说明HttpClient怎么使用,而以分享在asp.netcoreminiapi框架下,HttpClient的引入和使用方式。我们在业务开发中,免不了调用三方的服务,这时就会用到Htt......
  • Decompressing GZip Stream from HTTPClient Response
    DecompressingGZipStreamfromHTTPClientResponse回答1JustinstantiateHttpClientlikethis:HttpClientHandlerhandler=newHttpClientHandler(){Auto......
  • Java之HttpClient调用WebService接口发送短信源码实战
    摘要Java之HttpClient调用WebService接口发送短信源码实战一:接口文档二:WSDL三:HttpClient方法HttpClient方法一HttpClient方法二HttpClient方法三HttpClient方法四四:封装soap......
  • HttpClientManager
    HttpClientManger packagecom.gateway.http.client;importcom.fasterxml.jackson.core.type.TypeReference;importcom.apollo.common.http.HttpMethod;importc......