TPC-C基准测试简介

转载 2015年07月10日 14:27:27

TPC-C基准测试简介

(2012-11-10 10:12:17)
标签:

tpc-c

基准测试

分类: DBMS测试

之前一直听师兄师姐谈到TPC-C基准测试,只知道它是OLTP(在线事务处理系统) 基准测试的工业标准,对于TPC-C具体其他的信息就不甚清楚了。趁着周末,查了些资料,现在对TPC-C做个简单的介绍吧。

一、标准概述

TPC(transaction processing performancecouncil)被称为事务处理性能委员会,负责定义诸如 TPC-C、TPC-H&TPC-R 和 TPC-W 基准测试之类的事务处理与数据库性能基准测试,并依据这些基准测试项目发布客观性能数据。

  TPC-C 于 1992 年 月 23 日认可为新的基准测试。TPC-C是衡量联机事务处理(OLTP,OnlineTransactionProcessing)系统的工业标准,是行业中公认的权威和最为复杂的在线事务处理基准测试。它通过模拟仓库和订单管理系统,测试广泛的数据库功能,包括查询、更新和 mini-batch事务(队列式小批量事务)。TPC-C基准测试针对一种模拟订单录入与销售环境测量每分钟商业事务(tpmC)吞吐量。

二、标准测试模拟的程序环境

测试用到的模型是一个大型的批发销售公司,在地理分布的多个区域有业

务,并且使用仓库管理。当业务扩展的时候,公司将添加新的仓库。每个仓库

负责十个区域的供货,每个区域 3000 个客户服务,每个仓库维护 100000 种商品的库存纪录。如下图所示:

TPC-C基准测试简介

TPC-C 标准测试系统的数据库有9个表组成,他们之间的关系如下图所示:

TPC-C基准测试简介

其中W 代表仓库数,框中的数字表示该表将存放的记录条数,K代表1000,

仓库数的调整在测试中能够体现数据库所能支持的数据规模的能力。每个 Warehouse 的数据量,其大小约为 76823.04KB,可以有小量的变化,因为测试过程中将会插入或删除现有记录。可以根据每个Warehouse的数据量,计算测试过程中的数据总量。

计算公式为:数据总量(KB)≈ Warehouse个数*76823.04KB

以10个Warehouse的数据量为例计算其数据总量大小约为:768230.4KB

三、标准测试模拟的事务处理

TPC-C 标准测试模拟了 种事务处理,通过这些事务处理来模拟真实的用户操作,事务分别为新订单(New-Order)、支付操作(Payment)、订单状态查询(Order-Status)、发货(Delivery)、库存状态查询(Stock-Level)。下面将对其执行的事务内容及特点进行详细介绍.

1.新订单(New-Order)

事务内容:对于任意一个客户端,从固定的仓库随机选取 5-15  件商品,创建新订单.其中 1%的订单要由假想的用户操作失败而回滚。

主要特点:中量级、读写频繁、要求响应快.

2.支付操作(Payment)

事务内容:对于任意一个客户端,从固定的仓库随机选取一个辖区及其内用

户,采用随机的金额支付一笔订单,并作相应历史纪录.

主要特点:轻量级,读写频繁,要求响应快

3.订单状态查询(Order-Status)

事务内容:对于任意一个客户端,从固定的仓库随机选取一个辖区及其内用

户,读取其最后一条订单,显示订单内每件商品的状态.

主要特点:中量级,只读频率低,要求响应快

4.发货(Delivery)

事务内容:对于任意一个客户端,随机选取一个发货包,更新被处理订单的用

户余额,并把该订单从新订单中删除.

主要特点:1-10 个批量,读写频率低,较宽松的响应时间

5.库存状态查询(Stock-Level)

事物内容:对于任意一个客户端,从固定的仓库和辖区随机选取最后 20 条订单,查看订单中所有的货物的库存,计算并显示所有库存低于随机生成域值的商品数量.

主要特点:重量级,只读频率低,较宽松的响应时间.

四、标准中事务处理需要满足的条件

TPC-C 标准测试要求事务处理必须满足下面的两组条件.

1. 事务处理要满足的时间及占有的比例

五种事务要满足的时间要求,包括键盘操作时间(Keying Time),思考时间

因子(Think  Time Distribution)以及 90%的响应时间(90th  Percentile ResponseTime)限制。

TPC-C基准测试简介

2. 事务要满足的隔离级别

TPC-C 测试过程中应该满足的隔离级别要求。要求只能高不能低。

T1到T5分别指五种事务:New-Order,Payment,Order-Status,Delivery,Stock-Level。

P0到P3分别指:脏写,脏读,非重复性读,幻影

TPC-C基准测试简介

五、TPC-C的测试工具

   常用的开源TPC-C基准测试工具有BenchmarkSQL, dbt2-v0.23等等。

服务器选型参考TPC-C值

经常需要在一些项目中进行服务器选型,看到这篇文件,比较实用,留作参考。 在大型呼叫中心项目中,服务器的选型有一定技巧。 怎样选择既符合系统要求,又不过分浪费资源的服务器?其中,还是有章可循...
  • liily2016240
  • liily2016240
  • 2016年02月11日 15:19
  • 1424

服务器TPC-C值计算方法

计算原则: 以单台服务器性能进行计算,即确保单台服务器工作的时候可以满足系统正常运行的需要; 假设每天有1万人次来窗口办理业务,每人次办理一项业务。即以每日1万笔前台交易为例进行综合系数的推导:...
  • ch7543658
  • ch7543658
  • 2014年09月09日 11:22
  • 2742

oracle的tpc-c测试及方法

转自:http://www.cnblogs.com/xiaoboCSer/p/3661124.html 本文重点在于简介使用BenchmarkSQL对oracle进行tpcc的测试步骤,只是一个...
  • ytfy12
  • ytfy12
  • 2016年04月27日 10:21
  • 1029

tpc-c 基准测试简介以及程序的安装、使用

tpc-c 基准测试简介以及程序的安装、使用   一、tpc-c简介   (一)、标准概述       TPC(transaction processing performance coun...
  • wo_xiao_lin
  • wo_xiao_lin
  • 2013年06月21日 21:36
  • 655

[笔记] 大家一起来测试,benchmark起来(MySQL下的TPC-C,TPC-H,TPC-W)

来自:http://www.itpub.net/thread-1330311-1-1.html 前段时间在MySQL下做了些类基准测试,帖出小结。 其中遇到许多小问题,不知道有遗漏步骤没,也还有些问题...
  • jianwushuang
  • jianwushuang
  • 2015年08月31日 21:42
  • 969

tpc-c测试环境搭建

搭建TPC-C环境 一、准备 操作系统 :Linux, 内核版本2.6 需要软件:tpccuva-1.2.3, postgresql-8.1.15, gnuplot-4.2.5。 tccuva...
  • hs794502825
  • hs794502825
  • 2013年01月26日 19:33
  • 1889

PostgreSQL TPC-C极限优化玩法

转载自:https://github.com/digoal/pgsql_admin_script/blob/c77b9eeb1e513bb9c2cbbad2794604a7b01bb404/pgsql...
  • postgrechina
  • postgrechina
  • 2016年01月21日 10:24
  • 1818

tpcc-mysql使用及输出结果解读

转自 http://msjun825.blog.163.com/blog/static/1237727462013323818167/  tpcc-mysql是percona实现...
  • cnhome
  • cnhome
  • 2015年01月05日 12:40
  • 1398

DHCP服务器简介

1、常识 dhcp概念:全称 Dynamic Host Configuration Protocol dhcp功能: 动态分配IP地址 dhcp常识: dhcp是基于udp的服务器监听在67号端口,...
  • donghaixiaolongwang
  • donghaixiaolongwang
  • 2017年03月15日 20:30
  • 296

SQL Server2008(一)简介

数据库系统是由数据库及其管理软件组成的系统,大家常把与数据库有关的硬件和软件系统称为数据库系统。 SQL Server2008关系数据库的规范化:关系数据库中的每一个关系都要满足一定的规范。根据满足规...
  • qq_26744901
  • qq_26744901
  • 2015年10月27日 09:03
  • 736
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TPC-C基准测试简介
举报原因:
原因补充:

(最多只允许输入30个字)