数据库基准测试(DatabaseBenchmarking)说明(一)

2015-01-23 21:53:11 · 作者: · 浏览: 25

?

1 TPC概述

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

?

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

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

\

?

从图上可以看出,除了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, recordi