【GaussDB国庆献礼】数据库性能测评Benchmark简介

举报
秋Grace 发表于 2019/09/26 15:40:49 2019/09/26
【摘要】 最经典的数据库性能benchmark是TPC系列。TPC(Transaction Processing Performance Council,事务处理性能委员会)是一个非盈利组织,1988年8月成立,总部设在美国旧金山。从2009年起,TPC组织每年随VLDB组织一个会议TPCPC( Technology Conference on Performance Evaluation and B...

最经典的数据库性能benchmark是TPC系列。TPC(Transaction Processing Performance Council,事务处理性能委员会)是一个非盈利组织,19888月成立,总部设在美国旧金山。从2009年起,TPC组织每年随VLDB组织一个会议TPCPC Technology Conference on Performance Evaluation and Benchmarking (TPCTC)),用于探索在benchmark领域的新进展和突破。

TPC的会员主要是计算机系统公司,包含数据库和操作系统公司,也包含系统集成、市场研究公司。共有超过25个会员分布在全球。TPC会员包括两类,Full membership年费是15000美元,associate membership年费是1500美元。TPC主要由会员volunteer运转,每5年召开一次general council meeting。参与会员可以获取全部TPC数据和内部会议内容。

15590260c3ba30ba1fca_405x385.jpg@900-0-90-f.jpg

TPC的创始人是Omri Serlin(已于2013年去世),Tom Sawyer(是TPC的第一个auditor,提出了TPC-A,在IBM参与网格数据库、DB2设计)。Jim Gray作为工业界leader也参与了TPC的创建。

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

 

TPC包含一系列的benchmark,用于数据库、大数据等多个领域。

领域

OLTP

Decision Support

Virtualization

Big Data

IoT

Common specifications


TPC-C

TPC-H

TPC-VMS

TPCx-HS V1

TPCx-IoT

TPC-Energy


TPC-E

TPC-DS

TPCx-V

TPCx-HS V2


TPC-Pricing



TPC-DI

TPCx-HCI

TPCx-BB



与数据库密切相关的就是TPC-CTPC-ETPC-HTPC-DSTPC-DI

 

TPC-C模拟一系列用户在数据库上执行订单输入事务(1992年被批准)。包含四种事务:输入和支付订单、记录支付、检查订单状态、检测库存。TPC-C包含了5中不同类型、复杂度的事务并发,在线执行或者进入队列延迟执行。事务特征包括:

·         多种复杂度的事务类型同时执行

·         在线和延迟事务执行模式

·         多个在线终端会话

·         稳健的系统和应用执行时间

·         Significant磁盘输入输出

·         事务完整性(ACID

·         数据非均匀分布

·         数据库包含多个表,大小、属性、关系都有差异

·         数据访问和升级竞争

TPC-C的测量方式是每分钟的新订单事务数,测量单位是tpmC,以及每个事务的开销$/tpmC



TPC-C榜单都被OracleIBM占领,SQL Server最优成绩只能排第17位。Oracle1996Oracle 7起进行TPC-C测试,2003Oracle 10g基于HP安腾服务器达到100w tpmc2013Oracle11g基于SPARC T5-8达到单机点855wtpmcTPC-C榜首是2010Oracle27节点的SPARC SuperCluster集群实现的,达到了3024w tpmc


1996年起,IBMOracleSQL Server一直在刷新榜单,从最初的1000tpmc,一直到2010年的3000w。到2013年后,这几家厂商都停止了TPC-C测试,估计是再也没有超越Oracle单机855w tpmC的记录了吧。

 

排序

时间

tpmC

数据库

节点数

服务器

服务器参数

1

2010-12-02

3024w

Oracle 11g2RACpartitioning

27

SPARC SuperCluster with T3-4 Servers

4 SPARC T31.65GHz16核;512GB内存;1.76PB

2

2010-8-17

1036w

DB2 9.7

3

IBM POWER 780 Model 9179-MHB

8 POWER7 3.86GHz8核;82TB

3

2013-03-26

855w

Oracle 11g2RACpartitioning

1

SPARC T5-8 server

8 SPARC T5 3.6GHz16核;4TB内存;344TB

7

2012-6-10

505w

Oracle 11g2 EE

1

Sun Server X2-8

8 Intel Xeon E7-8870 2.4GHz4TB内存;284TB

17

2010-8-30

180w

SQL Server2005

1

HP

4 8 Intel 2.26GHz1TB内存;总存储64.6TB

















TPC-E,是一种新的OLTP负载,利用数据库建模佣金公司及客户,生成交易、账户查询、市场研究等食物。佣金公司与金融市场交互,代表客户执行订单,更新相关庄户信息。

benchmark是可扩展的,即客户数量可以变化。测量单位是每秒事务次数,tps

TPC-E的榜单被SQL-Server占据。

83dbd260c3ba320c23f8_554x180.jpg@900-0-90-f.jpg

 

TPC-DIData Integration),即ETL

 

TPC-H是一种决策支持benchmark,包含一系列业务导向的即席查询和并发数据修改。测量单位是每小时查询次数QphH@size,以及$QphH@size

TPC-H是一款面向商品零售业的决策支持系统测试基准,它定义了8张表,22个查询,遵循SQL92TPC- H 标准对数据库系统中的数据量有严格、明确的规定。用SF 描述数据量,1SF 对应1 GB 单位,SF 由低到高依次是1、10、30、100、300、1 000、3 000、10 000。即1GB、10GB、30GB、100GB、1TB、3TB、10TB。SF 规定的数据量只是8个基本表的数据量,不包括索引和临时表。因此实际测试时要预留更大的存储空间。

交易型数据库也要进行TPCH测试,如SQL Server、Oracle等。

TPC-H的榜单:有效榜单

e12c5261c6688c4803be_1232x301.png@900-0-90-f.png

历史榜单

1f51e261c66d07d5d789_1240x413.png@900-0-90-f.png
 

TPC-DS:以零售产品供应商场景建模几个通用决策支持系统,包括查询和数据维护(2015年发布TPC-DS 2.0)。

该系统特点:

·         测试大规模数据

·         对实际商业问题给出答案

·         执行需求多样或复杂的查询(ad-hoc,报告,迭代OLAP,数据挖掘)

·         CPUIO负载

·         通过数据库维护函数周期地与OLTP数据库同步

·         运行在大数据解决方案上,如RDBMSHadoopSpark

TPC-DS采用星型、雪花型等多维数据模式。它包含7张事实表,17张纬度表平均每张表含有18列。其工作负载包含99SQL查询,覆盖SQL992003的核心部分以及OLAP。这个测试集包含对大数据集的统计、报表生成、联机查询、数据挖掘等复杂应用,测试用的数据和值是有倾斜的,与真实数据一致。可以说TPC-DS是与真实场景非常接近的一个测试集,也是难度较大的一个测试集。

 

TPC-DS的榜单只有3个产品,分别是AliAnalyticDBE-mapReduce,以及星环

7446d261c6697d01643a_1239x390.png@900-0-90-f.png

TPC-HTPC-DS对比见表。

8e034260c3ba33d6516f_554x133.jpg@900-0-90-f.jpg

 

其他数据库benchmark

Percona针对MySQL开发了Tpcc-MySQL,可直接使用。

Sysbench:支持MySQLPGOracle的测试。一款开源的多线程性能测试工具,支持如下性能测试:文件系统I/O性能;操作系统内核任务调度器性能;内存分配和传输性能;POSIX线程性能;数据库服务器性能 (MySQL , PostgreSQL)

 

Hammerdb作为一个开源的数据库压力测试的基准工具,同时支持LinuxWindows系统,有图形用户界面(GUI)和命令行两种形式。目前支持的数据库包括Oracle, SQL Server, DB2, MySQL, MariaDB, PostgreSQL, Redis等。 Hammerdb模拟了标准的TPC-CTPC-H两种测试模型。相比于标准的TPC-CTPC-HHammerdb运行成本低,操作简单, 是服务器数据库压力测试的很好选择。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。