首页 > 其他分享 >TPC-C

TPC-C

时间:2022-12-03 16:32:58浏览次数:66  
标签:TPC 仓库 系统 订单 测试 tpmC

TPC-C是专门针对联机交易处理系统(OLTP系统)的规范,一般情况下我们也把这类系统称为业务处理系统。1992年7月发布。几乎所有在OLTP市场提供软硬平台的国外主流厂商都发布了相应的TPC-C测试结果,随着计算机技术的不断发展,这些测试结果也在不断刷新。

基本概念

标准由来

TPC(Transaction Processing Performance Council,事务处理性能委员会)是由数十家会员公司创建的非盈利组织,总部设在美国。TPC的成员主要是计算机软硬件厂家,而非计算机用户,其功能是制定商务应用基准程序的标准规范、性能和价格度量,并管理测试结果的发布。

TPC不给出基准程序的代码,而只给出基准程序的标准规范。任何厂家或其他测试者都可以根据规范,最优地构造出自己的测试系统(测试平台和测试程序)。为保证测试结果的完整性,被测试者(通常是厂家)必须提交给TPC一套完整的报告(Full Disclosure Report),包括被测系统的详细配置、分类价格和包含5年维护费用在内的总价格。该报告必须由TPC授权的审核员核实(TPC本身并不做审计)。 TPC在全球只有不到10名审核员,全部在美国。

TPC-C使用三种性能和价格度量,其中性能由tpmC(transactions per minute,tpm)衡量,Cpm)衡量,C指TPC中的C基准程序。它的定义是每分钟内系统处理的新订单个数。TPC-C还经常以系统性能价格比的方式体现,单位是$/tpmC,即以系统的总价格(单位是美元)/tpmC数值得出。

规范概要

这类系统具有比较鲜明的特点,这些特点主要表现如下:

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

2、在线与离线的​事务​执行模式;

3、多个在线会话终端;

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

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

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

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

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

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

测试模型

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

TPC-C测评系统数据库由9张表组成,它们之间的关系如下图:

TPC-C_数据库

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

事务说明

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

1、新订单(New-Order) :客户输入一笔新的订货交易;

2、支付操作(Payment) :更新客户帐户余额以反映其支付状况;

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

4、订单状态查询(Order-Status) :查询客户最近交易的状态;

5、库存状态查询(Stock-Level) :查询仓库库存状况,以便能够及时补货。

测试指标

TPC-C测试的结果主要有两个指标,即流量指标(Throughput,简称tpmC)和性价比(Price/Performance,简称Price/tpmC)。

流量指标(Throughput,简称tpmC):按照TPC组织的定义,流量指标描述了系统在执行支付操作、订单状态查询、发货和库存状态查询这4种交易的同时,每分钟可以处理多少个新订单交易。所有交易的响应时间必须满足TPC-C测试规范的要求,且各种交易数量所占的比例也应该满足TPC-C测试规范的要求。在这种情况下,流量指标值越大说明系统的联机事务处理能力越高。

性价比(Price/Performance,简称Price/tpmc):即测试系统的整体价格与流量指标的比值,在获得相同的tpmC值的情况下,价格越低越好。

标签:TPC,仓库,系统,订单,测试,tpmC
From: https://blog.51cto.com/u_15867943/5908581

相关文章

  • TPC-H(1)
    事务处理性能测试委员会TPC(TransactionprocessperformanceCouncil)是一个专门负责制定计算机事务处理能力测试标准并监督其执行的组织,其总部位于美国。该组织对全世界开......
  • 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......