数据库基准测试(Database Benchmarking) 说明

1   TPC概述

对数据库和服务器进行压力测试或者做对比的时候,都是经常会使用HammerDB 或者 Benchmark之类的工具,而且最常用TPCC的标准进行测试。

这里说的TPCC,前3个字母是:TPC 是Transaction Processing Council(事务处理委员会),其提供了量化的方法和标准。

所以我们说的TPCC就是其中一种测试方法。

TPC的官网是:http://www.tpc.org/

从图上可以看出,除了TPC-C 之外,还有很多其他的方法,包括废弃的TPC-A,TPC-B,TPC-D,TPC-R,TPC-W。

关于不同的测试方法的区别可以直接点击官网的说明。

2   Oracle 官网对Benchmarking的说明

下文直接引自Oracle 的网站,原文地址已经不存在,文章讲了database benchmarking的原因、标准,和几款测量工具软件。

2.1             Reasons for Benchmarking

Benchmarks are performed for variousreasons. However, benchmarks are primarily used:

* To compare different hardware configurations

Benchmarks can be used to compare the relative performance ofdifferent hardware running the same application. This isgenerally used to directly compare hardware configurations between two hardwarevendors.

* To compare different database vendor software

By running the same benchmark usingdifferent database software on the same machine, one can easily compare betweendifferent database vendors. This is generally usedto make a price/performance decision between vendors such asOracle, Microsoft, IBM, etc.

* To compare different database software releases

Similar to the above, one can use different versions of the samevendor‘s database software to compare the one they want to use or checkfor performance regressions due to upgrades (i.e. 10g vs. 11g).

2.2             Real World Benchmarks

While there areseveral industry standard benchmarks, most of the time, they don‘treflect a company‘s actual workload. As such, you will often findcustom benchmarks being performed. The goals of a real-world benchmark are thesame reasons mentioned above.

2.3             Industry Standard DatabaseBenchmarks

Industrystandard benchmarks are generally used by businesses to compare differenthardware and software system performance forpurchase-related reasons. While industry standard benchmarks are modelled afterreal-world workloads, they rarely reflect a company‘s realworkload. However, it is a quick way to compare the performance of varioushardware and software combinations operating in a well-defined scenario. Themajor industry standard benchmarks are listed below.

2.4             Transaction Processing Council(TPC)

The TPC is anon-profit corporation which supports a consortium of hardware and databasesoftware vendors devoted to defining transaction processing anddatabase-related benchmarks. The primary goal behind TPC benchmarks is thedefinition of functional requirements which can be run on any database,regardless of the hardware or operating system. This allows vendors toimplement their own benchmark kits in order to satisfythe functional requirements. Similarly, after having publicly submitted proofthat a benchmark was conducted according to the specification, end-users havemore of an assurance that what they are presented with is avalid, apples-to-apples comparison.

2.4.1 TPC-B

The TPC-B benchmark stresses databases and is characterizedby significant disk input/output, moderate system, application execution time,and transaction integrity.  Thisbenchmark targets database management systems (DBMS) batch applications, andback-end database servers.  TPC-B is notan OLTP benchmark.

2.4.2 TPC Benchmark C (TPC-C)

The TPC-C simulates an order-entryenvironment where apopulation of terminal operators executes transactions against a database. Thebenchmark is comprised of transactions which include entering and deliveringorders, recording payments, checking the status of orders, and monitoring thelevel of stock at the warehouses. The most frequent transaction consists ofentering a new order which, on average, iscomprised of ten different items. Each warehouse tries to maintain stock for the 100,000 itemsin the Company‘s catalog and fill orders from thatstock. The performance metric reported by TPC-C measures the number of ordersthat can be fully processed per minute and is expressed in tpm-C. The TPC-Cwill soon be deprecated in favor of the TPC-E.

2.4.3 TPC-D

The TPC-D benchmark represents a broad range ofdecision support (DS) applications that require complex, and long runningqueries against large complex data structures. Real-world business questions were written against this model, andresulted in 17 complex queries.

2.4.4 TPC Benchmark E (TPC-E)

The TPC-E benchmark simulates the OLTP workload of a brokeragefirm. The focus of the benchmark is the centraldatabase that executes transactions related to the firm’s customer accounts.The TPC-E metric is given intransactions per second (tps). It specifically refers to the number ofTrade-Result transactions the server can sustain over a period of time.

2.4.5 TPC Benchmark H (TPC-H)

TheTPC-H is adecision support benchmark which consists of several business-oriented ad-hocqueries and concurrent data modifications. This benchmark illustrates decisionsupport systems that examine large volumes of data, execute queries with a highdegree of complexity, and give answers to critical business questions.

The performancemetric reported by TPC-H is called the TPC-H Composite Query-per-HourPerformance Metric ([email protected]), and reflects multiple aspects of the capabilityof the system to process queries.

2.5             Standard Performance EvaluationCorporation (SPEC)

2.5.1 Free and Open Source Benchmark Kits

As the benchmarkkits used by various database vendors are proprietary, several open sourcedatabase benchmark kits have been written to implement not only the industrystandard workloads, but others as well.

* Open Source Development Labs Database Test Suite

The OSDL DBT suite is the mostcomprehensive of all open source benchmark kits. While its benchmarkimplementations are based on TPC standards, they differ in someareas and are not certified; making a comparison between a certified TPC-Cresult and OSDL‘s implementation of TPC-C (DBT-2) impossible. As the originalOSDL DBT suite lacks Oracle support, Oracle has added and released it as partof the Oracle Linux Test kit.

* PolePosition

PolePosition is an open sourcebenchmark test suite to compare database engines and object-relationalmapping technology.

* jTPCC

jTPCC is an open source Java implementation ofthe TPC-C benchmark. While it claims compliance with TPC-C, it is not.

* BenchmarkSQL

BenchmarkSQL is an open source,easy to use JDBC benchmark which closely resembles the TPC-C standard for OLTP;it was originally based on jTPCC.

* Bristlecone

Bristlecone is a simpleSELECT+INSERT/UPDATE/DELETE throughput and response-time benchmark written in Java.

* FinTime

FinTime is an open source set ofdata and queries which reflects the needs of financial analysts who arestudying patterns in stock market data, but it should appealto the designers of any system that has pretensions of handling ordered datawell.

* Java TPC-W Implementation

This open-source implementation is basedon the TPC-W specification version 1.0.1. Itstrays from the official benchmark specification in a fewminor areas, which are specified in documentationincluded with the distribution. This version itself lacks Oracle support, butit can be found on the web.

* Swingbench

Swingbench is a free loadgenerator (and benchmarks) designed to stress test an Oracle database(9i,10g,11g).

* OpenLink ODBC Bench

OpenLink ODBC Bench is an open-sourceODBC Benchmarking tool providing real-time comparative benchmarking for ODBCDrivers, Database Engines, and Operating Systems combinations. The Benchmarks in thisapplication are loosely based on the TPC-A and TPC-C standard benchmarks, withmodifications to specifically test the performance of an ODBC Driver and/orDatabase Engine in a client/server environment.

* OpenLink JDBC Bench

Similar to OpenLink‘s ODBC Bench, this is a JDBC version.

* TPCC-UVa

A free, open-source implementation of the TPC-C Benchmark.

* Hammerora

An open source load generation tool.

2.5.2 Commercial Benchmark Kits

There are several industry standard benchmarks.

* Official Oracle Benchmark Kits

Similar to Microsoft and IBM, the official benchmark kits used byOracle can only be obtained under certain conditions. For more information,contact your Oracle Consulting/Partner/Support representative.

* Real Application Testing

While many wouldn‘t think of Real Application Testing asa traditional benchmark kit, it does perform workload execution primarily forthe real world benchmarking case.

* Quest Software‘sBenchmark Factory for Databases

Benchmark Factory for Databases is aworkload simulation and scalability testing tool that stress tests yourenvironment by simulating users and transactions on the database. You caneither replay production workload or use synthetic workload to test the limitsof your database.

* SPEC jAppServer Benchmark Kit

This can be acquired directly from SPEC.

2.6             Benchmarking-related Books

There are several good books regarding benchmarking. The best I‘vefound include the following:

* The Benchmark Handbook: For Database andTransaction Processing Systems (Jim Gray)

A great, albeit outdated book. While several of the benchmarks itdiscusses have been deprecated, it presents good concepts and backgroundinformation regarding benchmarking.

* Performance Analysis of Transaction ProcessingSystems (Wilbur H. Highleyman)

While out of print, this bookpresents both plain-text and math-heavy concepts of queueing and performanceanalysis techniques oriented for OLTP.

* Database Benchmarking: Practical Methods forOracle & SQL Server

This book explores all aspects of database benchmarking and showsyou a real-world approach that ensures that you are prepared forwhatever the future brings to your mission-critical database.

--------------------------------------------------------------------------------------------

版权所有,文章禁止转载,否则追究法律责任!

AboutDave:

--------------------------------------------------------------------------------------------

QQ:     251097186

Email:    [email protected]

Blog:    http://blog.csdn.net/tianlesoftware

Weibo:    http://weibo.com/tianlesoftware

Twitter:  http://twitter.com/tianlesoftware

Facebook: http://www.facebook.com/tianlesoftware

Linkedin: http://cn.linkedin.com/in/tianlesoftware

Dave 的QQ群:

--------------------------------------------------------------------------------------------

注意:加群必须注明表空间和数据文件关系 | 不要重复加群

CNDBA_1: 104207940 (满)    CNDBA_2: 62697716 (满)   CNDBA_3: 283816689

CNDBA_4: 391125754   CNDBA_5: 62697850    CNDBA_6: 62697977   CNDBA_7: 142216823(满)

时间: 2024-11-02 17:27:17

数据库基准测试(Database Benchmarking) 说明的相关文章

Oracle 数据库(oracle Database)Select 多表关联查询方式

Oracle数据库中Select语句语法及介绍 SELECT [ ALL | DISTINCT ] <字段表达式1[,<字段表达式2[,…] FROM <表名1>,<表名2>[,…] [WHERE <筛选择条件表达式>] [GROUP BY <分组表达式> [HAVING<分组条件表达式>]] [ORDER BY <字段>[ASC | DESC]] 语句说明: []方括号为可选项 [GROUP BY <分组表达式&g

数据库基准测试中应该避免的错误

基准测试可以说是唯一方便有效的.可以学习系统在给定工作负载下会发生什么的方法.可见基准测试的重要性,在设计基准测试前,我们要了解一下基准测试的常见错误,防止自己在测试中犯这些错误. 数据库基准测试中常见错误: 使用真实数据的子集而不是全集:例如真实情况下,应用需要处理100G的数据,然而在测试时,只有1G数据:或者只使用当前数据进行测试,却希望模拟未来业务大幅增长后的情况. 使用错误的数据分布:例如使用均匀分布的数据测试,而系统真实数据有很多热点区域(随机生成的测试数据通常无法模拟真实的数据分布

Oracle10g 闪回数据库 (Flashback Database)

生产上要做灾备系统的应急切换演练,灾备端是由OGG搭建的.由于生产库都比较大10多T,不想演练后重新初始化灾备库,生产库版本为10.2.0.4,于是想到10g的新特性flashback database.演练开始前记录一个还原点,演练结束后闪回到这个还原点,重新同步ogg即可. 测试闪加数据库. 一.开启FLASHBACK DATABASE 数据库版本:10.2.0.4 启用FLASHBACK DATABASE数据库必须为ARCHIVELOG模式,还需要有一个闪回恢复区用于存储闪回日志,RAC中

day21 数据库(DataBase)

1.数据库由多张表组成,一张表就是一个实体. 2.表的列就是属性的值,行就是一个个具体的对象的属性值. primary key主键:1.非空.2.不能修改(定好不变).3.业务无关. 作用:在表中具体唯一标识某条记录. foreign key外键:记录这张表和另一张表的数据关系. 1对1的时候,外键可以在任何一方. 1对多的时候,外键只能在多的一方. 多对多的时候,需要添加一张关系表来表示他们的关系. RDBMS(relationship data base management system)

Oracle11gR2使用RMAN duplicate复制数据库——Backup-based database duplicate

本实例测试ORACLE 11g使用rman复制数据库.11g的RMAN duplicate 可以通过Active database duplicate和Backup-based duplicate两种方法实现.这里的测试使用的是Backup-based duplicate. 应用场景.基于Active database duplicate参考http://hbxztc.blog.51cto.com/1587495/1872754 1.旧库或网络不可用,但是有备份 实验环境: target db:

Oracle11gR2使用RMAN duplicate复制数据库——active database duplicate

11gR2的RMAN duplicate 个人感觉比10g的先进了很多,10G需要在rman备份的基础上进行复制,使用 RMAN duplicate 创建一个数据完全相同但DBID不同的数据库.而11g的RMAN duplicate 可以通过Active database duplicate和Backup-based duplicate两种方法实现.这里的测试使用的是Active database duplicate,因为Active database duplicate 功能强大,不需要先把目

安装PostgreSQL数据库 ,Database Cluster 失败!

在安装PG数据库的过程中,会选择安装目录以及数据存放目录和端口,并需要选择Local,如果全部使用默认,并且设置好自己的密码后开始安装,前期进展还比较顺利,到了安装Database Cluster时,提示需要花费几分钟,没想到之后出现一个警告框,如下图. 点击OK,倒是可以安装到最后,一开始也没有管那么多.但是打开PG数据库登录的时候,出现错误"PostgreSql服务器未监听!",导致无法连接到PG数据库服务器.完了,服务器登不上,这下啥也干不成. 于是网上找办法,有的说是需要关闭防

显式激活数据库( ACTIVATE DATABASE)

某天值班员联系我说,我负责的一套报送系统没有按时生成报文,因为此报警提前量比较大,加上系统经常发生未按时生成报文的事件,也就是没在意,然后不急不慢的到公司,打开系统页面,发现其中一个存储过程跑了将近8小时还没结束.以往这个存储过程最长的运行记录也就不到2小时,这肯定有问题.查看前一天的运行记录也是10个小时左右,在以前的记录就都是半小时左右了,而且接着这个存储过程运行的下一个批作业(一个JAVA程序),前一天也运行了1个小时,以往也就几分钟.为了保证业务使用,联系了项目组,咨询此存储过程可以先跳

mysql5.7基础 切换到现有的一个数据库 use database命令 不用写 分号

镇场文:       学儒家经世致用,行佛家普度众生,修道家全生保真,悟易理象数通变.以科技光耀善法,成就一良心博客.______________________________________________________________________________________________________ Operating System:UbuntuKylin 16.04 LTS 64bitmysql: Ver 14.14 Distrib 5.7.17, for Linux (