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

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

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

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

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

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

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

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

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

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

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

TPC-C 标准测试模拟了 5 种事务处理,通过这些事务处理来模拟真实的用户操作,事务分别为新订单(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)限制。

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

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

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

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

五、TPC-C的测试工具

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

TPC-C基准测试简介相关推荐

  1. mysql sysbench_详解MySQL基准测试和sysbench工具

    一.基准测试简介 1.什么是基准测试 数据库的基准测试是对数据库的性能指标进行定量的.可复现的.可对比的测试. 基准测试与压力测试 基准测试可以理解为针对系统的一种压力测试.但基准测试不关心业务逻辑, ...

  2. 详解 MySQL 基准测试和 sysbench 工具

    前 言 作为一名后台开发,对数据库进行基准测试,以掌握数据库的性能情况是非常必要的.本文介绍了MySQL基准测试的基本概念,以及使用sysbench对MySQL进行基准测试的详细方法. 文章有疏漏之处 ...

  3. 【压测】基准测试、性能测试、压力测试--Sysbench

    一.基准测试简介 1.什么是基准测试 数据库的基准测试是对数据库的性能指标进行定量的.可复现的.可对比的测试. 基准测试与压力测试 基准测试可以理解为针对系统的一种压力测试.但基准测试不关心业务逻辑, ...

  4. 阳振坤:电动汽车与分布式数据库的共同命运

    作者 | 阳振坤 责编 | 田玮靖 出品 | CSDN(ID:CSDNnews) 电动汽车与分布式数据库,看似两个风马不相及的事物,其发展路径却极为雷同:两者都在较早期被发明,但都没有成为主流.21世 ...

  5. 从技术上解读大数据的应用现状和开源未来! | 技术头条

    作者 | 韩锐. Lizy Kurian John.詹剑锋 责编 | 胡巍巍 近年来,随着大数据系统的快速发展,各式各样的开源基准测试集被开发出来,以评测和分析大数据系统并促进其技术改进.然而,迄今为 ...

  6. 从技术上解读大数据的应用现状和开源未来

    来源:网络大数据 作者 | 韩锐. Lizy Kurian John.詹剑锋 摘要:近年来,随着大数据系统的快速发展,各式各样的开源基准测试集被开发出来,以评测和分析大数据系统并促进其技术改进.然而, ...

  7. sysbench测试mysql性能(TPS、QPS、IOPS)(重要)

    掌握数据库的性能情况是非常必要的.本文介绍了MySQL基准测试的基本概念,以及使用sysbench对MySQL进行基准测试的详细方法,本文主要针对金山的单版RDS数据库测试. 一.基准测试简介 1.什 ...

  8. 1,3-丁二烯(BD)行业调研报告 - 市场现状分析与发展前景预测

    1,3-丁二烯(BD)市场的企业竞争态势 该报告涉及的主要国际市场参与者有ExxonMobil Chemical.SABIC.ENI.Chevron Phillips Chemical.INEOS.Y ...

  9. 企业级刀片式服务器和盘柜的能效比较

    发布者:Dell-Terry Z    作者:Lee B 随着能源成本持续攀升,其在组织预算中所占的比重越来越大,戴尔公司 (Dell) 委派其服务器性能分析 (Server Performance ...

最新文章

  1. 文巾解题 136. 只出现一次的数字
  2. 如何用excel筛选相似内容_Excel筛选你用好了么?别再下拉点点点了
  3. php 加载redise_PHP Redis扩展无法加载的问题解决方法
  4. Linux入门学习(十一)
  5. Ajax同步链接在IE 与FireFox的使用差别 open(GET,url,false)
  6. Nginx中 --- 内存池
  7. 第四季-专题5-内核模块开发
  8. 怎么使用QQ音乐api搭建个人音乐站点
  9. qq空间相册查看器_一刻相册相册怎么样?一刻相册和其他相册对比
  10. Environment Mapping
  11. 利用计算机打字教学设计,“第7课 玩打字游戏”教学设计
  12. wingide python_WingIDE下载|Wingware Python WingIDE汉化中文版6.0 下载_当游网
  13. kubeadm 方式搭建k8s笔记
  14. 7-20 打印九九口诀表 (15分) 下面是一个完整的下三角九九口诀表: 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4
  15. 1024程序员节来喽
  16. DeepFM理论与实践
  17. 阿龙学堂-启动spark任务的两种方式
  18. 网络基础 -- 应用层HTTP协议
  19. C语言用计算机打印一只猫,浅析C语言在计算机中的应用
  20. 协同过滤美食推荐系统(SSM,MySQL)+全套视频教程

热门文章

  1. 做一个电影院选座功能-前端
  2. 用心理学解释用户行为
  3. flink cdc笔记(一):flink cdc简介
  4. G++ 4.4.7 无法编译模板程序,Vs可以,和解?智者尾部留言,本人第一次使用vs pro,通常并且习惯在linux下写些小东西,虽然程序简单;...
  5. debian阉割touchpad方法
  6. 风变编程存爬虫测单词小工具_快收下这个小工具,一次性把论文作图和数据处理全部搞定!...
  7. ggrepel-解决散点图样品标签重叠,方便筛选样品
  8. 眼图(Eye Diagram)与数字信号测试眼图
  9. 股票中什么是每股收益,有什么作用
  10. iOS9适配必看指南