OLTP(TPC-C)

原创
2017/03/25 15:49
阅读数 326

TPC-C

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

该系统需要处理的交易为以下几种:
  New-Order:客户输入一笔新的订货交易;
  Payment:更新客户账户余额以反映其支付状况;
  Delivery:发货(模拟批处理交易);
  Order-Status:查询客户最近交易的状态;
  Stock-Level:查询仓库库存状况,以便能够及时补货。

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

TPC-C的测试结果主要有两个指标:
  1.性能指标(Performance)或者流量指标(Throughput)(简称tpmC)
  按照TPC的定义,流量指标描述了系统在执行Payment、Order-status、Delivery、Stock-Level这四种交易的同时,每分钟可以处理多少个New-Order交易。所有交易的响应时间必须满足TPC-C测试规范的要求。
  tpmC定义: TPC-C的吞吐量,按有效TPC-C配置期间每分钟处理的平均交易次数测量,至少要运行12分钟。单位是t/m, 即tpm or transactions per minute.
         性能指标值越大越好
  
  2.性价比(Price/Performance,简称Price/tpmC)
  即测试系统价格(指在美国的报价)与流量指标的比值。
  价格是指系 统的总价格,单位是美元,而价格性能比则定义为总价格÷性能,单位是$/tpmC
           性价比越大越好

数据库选型
为了方便计算数据库服务器的选型,我们约定:
      " 系统同时在线用户数为1500人(U1); 
      " 平均每个用户每分钟发出2次业务请求(N1);
      " 系统发出的业务请求中,更新、查询、统计各占1/3;
      " 平均每次更新业务产生3个事务(T1);
      " 平均每次查询业务产生8个事务(T2);
      " 平均每次统计业务产生13个事务(T3);
      " 一天内忙时的处理量为平均值的5倍;
      " 经验系数为1.6;(实际工程经验)
      " 考虑服务器保留30%的冗余;
服务器需要的处理能力为:
    TPC-C=U1*N1*(T1+T2+T3)/3*5*经验系数/冗余系数 
则应用服务器的处理性能估算为:
    TPC-C= 1500*2*(3+8+13)/3*5*1.6/0.7= 274,285 tpmC
数据库服务器关系到整个系统的稳定运行,考虑到高可靠性和高可用性,并注重设备的可扩展性和性价比,系统将配置两台TPC-C值不小于28万的高性能数据库服务器。

 

TPC-E(将逐步替代TPC-C)

TPC-E模拟了真实世界中一个证券公司和那些贸易、会计查询和市场研究方面的客户之间的交易。这个公司会和金融市场产生联动,并基于客户的利益执行指令及更新那些账户信息。在TPC-E标准中,客户的数量可以代表不同规模的商业事务,把十种商业事务混合在一起执行。

规范定义了33张表,12种事务

在性能指标中,时间单位从TPC-C中的以分钟计变为TPC-E中的以秒计。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部