1、引言

如今,多样的交易模式以及大众消费观念的改变使得数据库应用领域不断扩大,现代的大型分布式应用系统的数据膨胀也对数据库的海量数据处理能力和并行处理能力提出了更高的要求,如何在数据呈现海量扩张的同时提高处理速度和应用系统的可用性,使客户能同时得到更高的处理速度、更高的数据可用性和更大的数据集,是数据库系统面临的一个挑战。通过TPC-H基准测试,可获得数据库单位时间内的性能处理能力,为评估数据库系统的现有性能服务水平提供有效依据,通过横向对比促进数据库系统的整体质量提升,能更好地在国家重大行业和重大信息化工程中实现推广。

2、TPC-H原理简介

TPC-H是由TPC(Transaction Processing

Performance Council)事务处理性能委员会公布的一套针对数据库决策支持能力的测试基准,通过模拟数据库中与业务相关的复杂查询和并行的数据修改操作考察数据库的综合处理能力,获取数据库操作的响应时间和每小时执行的查询数指标(QphH@Size)。

TPC-H基准模型中定义了一个数据库模型,容量可以在1GB~10000GB的8个级别中进行选择。数据库模型包括CUSTOMER、LINEITEM、NATION、ORDERS、PART、PARTSUPP、REGION和SUPPLIER 8张数据表,涉及22条复杂的select查询流语句和2条带有insert和delete程序段的更新流语句。测试分为Power测试和Throughout测试两种类型,Power测试是随机执行22条查询流中的一条测试流和2条更新流中的一条测试流,考核指标为QppH@Size;Throughout测试执行的是多条查询流和一条更新流对数据库的混合操作,考核指标是QthH@Size,Power测试和Throughout测试通过数理方式合成的结果为TPC-H基准测试中最关键的一项指标:每小时数据库查询数(QphH@Size),是QppH@Size和QthH@Size结果的乘积的1/2次方。

3、某数据库测试执行和优化过程

3.1测试执行过程

数据加载完成后需要进行数据完整性检查,30GB容量的数据情况应如下:

Region

5

Nation

25

Supplier

300000

Customer

4500000

Part

6000000

Partsupp

24000000

Orders

45000000

Lineitem

179998372

通过《TPC-H测试规范》排序集中规定的方式单线程执行功率测试中的22条SQL查询语句,2条更新流语句通过人工执行并统计时间;吞吐率测试为10个线程同时执行。

测试监控:使用spotlight和vmstat、iostat、sar命令同步监控。

3.2测试优化过程

为获得最优的数据库性能处理能力,在测试中根据数据库的性能展现进行了适当优化,优化内容主要如下:

Ø

关闭CPU超线程功能,但优化效果不明显;

Ø

关闭虚拟化设置和服务器省电模式,但优化效果不明显;

Ø

修改配置文件中的参数设置:

MEMORY_POOL

40MB--->2000MB //系统内存池大小

BUFFER

80MB--->50000MB

//系统缓冲区大小

MAX_BUFFER

700MB--->50000MB //系统最大缓冲区大小

SORT_BUF_SIZE

2MB--->40MB //排序缓存区大小

WORKER_THREADS 4

core --->48 core

//工作线程的数目

MAX_PARALLEL_DEGREE 1--->4

//水平分区表并行执行的最大任务数。

PARALLEL_THRD_NUM 10--->48

//用来设置并行工作线程个数,仅当PARALLEL_POLICY值为2时才启用此参数

……

3.3测试结果

(1)配置统计信息:

配置项

数据库类型

XXDem

数据规模

30

测试流数量

10

使用更新数据

False

(2)测试结果统计信息:

测试结果

Power Score

5591.46515258

Throughput Score

38260.8695652

QphH

14626.4937316

(3)响应时间统计信息:

Stream 0

Stream 1

Stream 2

Stream 3

Stream 4

Stream 5

Stream 6

Stream 7

Stream 8

Stream 9

Stream 10

Q1

11.36

15.67

16.95

14.69

14.55

13.22

14.0

15.42

13.13

14.17

15.06

Q2

4.11

6.44

7.09

6.86

7.2

6.75

6.81

6.17

6.92

7.08

7.16

Q3

14.8

24.78

21.77

19.69

21.39

20.8

21.42

19.94

20.36

22.61

22.27

Q4

14.47

17.94

19.86

18.92

20.41

21.19

37.02

19.61

19.33

20.56

19.25

Q5

15.92

23.97

20.14

25.61

25.14

20.69

21.44

21.97

25.45

22.27

17.33

Q6

9.02

13.47

13.8

14.58

12.47

13.28

14.45

12.27

13.14

12.94

13.58

Q7

15.74

24.48

22.8

24.97

30.13

24.69

24.92

23.78

33.33

24.48

25.36

Q8

21.67

35.56

45.75

38.03

34.23

35.39

37.88

36.56

36.11

36.92

34.56

Q9

40.2

60.25

70.58

63.16

75.92

63.27

70.83

56.36

64.73

59.17

56.25

Q10

21.58

29.98

31.61

30.03

28.61

28.27

29.92

29.73

30.41

29.41

30.86

Q11

13.2

17.09

15.58

15.97

15.47

15.55

16.45

15.52

16.06

16.25

15.66

Q12

19.78

26.19

24.3

28.75

24.55

27.53

25.5

26.8

26.31

25.89

26.2

Q13

28.45

39.61

41.61

42.08

42.23

38.83

44.02

39.84

38.74

42.23

41.42

Q14

9.94

14.66

16.42

14.67

16.45

16.33

14.8

13.06

15.47

12.64

13.55

Q15

9.98

14.41

14.09

11.83

14.42

17.58

14.75

14.94

13.66

12.84

14.95

Q16

20.47

29.64

28.58

28.2

27.56

27.78

27.14

28.83

29.78

27.28

28.27

Q17

18.27

29.63

25.63

30.27

27.3

28.38

25.83

30.16

29.23

30.19

32.67

Q18

32.03

45.88

37.92

38.55

37.66

42.28

36.52

42.56

36.97

37.2

38.64

Q19

17.44

25.67

25.63

25.66

25.8

27.19

25.36

24.63

24.42

24.61

22.97

Q20

13.13

20.89

17.86

18.58

14.89

18.58

20.59

24.09

18.47

21.59

19.03

Q21

57.19

79.23

90.3

77.09

81.2

82.0

83.86

81.26

77.53

97.01

94.97

Q22

4.47

7.19

6.28

7.69

7.39

6.84

6.94

6.86

6.92

6.83

25.51

RF1

8.07

8.00

7.89

7.86

8.05

8.09

8.19

7.95

8.08

8.00

8.11

RF2

11.00

11.04

11.00

10.95

10.97

11.07

11.27

10.95

11.15

11.03

11.11

(4)查询和更新操作响应时间曲线图:

图 1

TPC-H查询和更新操作响应时间

(5)此时过程中数据库服务器资源监控

4、结果分析

在本次测试过程中,共有10个线程进行数据操作,其中Q1查询语句的平均响应时间为15.822秒,Q2查询语句平均响应时间为7.259秒,Q3查询语句平均响应时间为22.983秒,Q4查询语句平均响应时间为22.856秒,Q5查询语句平均响应时间为23.993秒,Q6查询语句平均响应时间14.300秒,Q7查询语句平均响应时间为27.468秒,Q8查询语句平均响应时间为39.266秒,Q9查询语句平均响应时间68.072秒,Q10查询语句的平均响应时间为32.041秒,Q11查询语句的平均响应时间为17.280秒,Q12查询语句平均响应时间为28.180秒,Q13查询语句的平均响应时间为43.906秒,Q14查询语句的平均响应时间为15.345秒,Q16查询语句平均响应时间为30.353秒,Q17查询语句平均响应时间为30.756秒,Q18查询语句平均响应时间为42.621秒,Q19查询语句平均响应时间为26.938秒,Q20查询语句平均响应时间为20.77秒,Q21查询语句平均响应时间为90.164秒,Q22查询语句平均响应时间为9.292秒,RF1更新语句平均响应时间为8.829秒,RF2更新语句平均响应时间为12.154秒。

通过上述平均响应时间可以看出,被测数据库对于简单查询(简单查询所指对单个表的查询、多个表的简单属性查询、单一函数三种情况中的一种的查询语句)的平均响应时间较小,对于复杂查询(复杂查询所指对单个表的查询、多个表的简单属性查询、单一函数三种查询情况的两种及其以上的查询语句)的平均响应时间较大,而两条更新语句平均响应时间都较小,因此被测数据库在负载查询的处理方面仍存在很大的优化提升空间。通过TPC-H基准测试可以有效评估数据库系统的性能处理能力,也可以通过横向对比测试评价不同数据库管理系统的联机分析处理能力的差异,促进数据库系统的联机事务处理能力发展。

tpch测试mysql_数据库系统TPC-H测试方法及结果分析相关推荐

  1. tpch测试mysql_MySQL-tpch 测试工具简要手册

    tpch是TPC(Transaction Processing Performance Council)组织提供的工具包.用于进行OLAP测试,以评估商业分析中决策支持系统(DSS)的性能.它包含了一 ...

  2. tpch测试mysql_MySQL数据库之MySQL-tpch 测试工具简要手册

    本文主要向大家介绍了MySQL数据库之MySQL-tpch 测试工具简要手册 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. tpch是TPC(Transaction Proce ...

  3. Oceanbase 扩容TPC-H测试

    实现功能:自身集群扩容+租户资源扩容+租户资源扩容tpc-h测试 1.机器准备: 172.20.2.120:2881;172.20.2.121:2881;172.20.2.122:2881;172.2 ...

  4. TPC-H测试超详细介绍

    版权说明: 本文由博主keep丶原创,转载请注明出处. 原文地址: https://blog.csdn.net/qq_38688267/article/details/122535189 TPC-H测 ...

  5. benchmarksql测试mysql_使用benchmarkSQL测试数据库的TPCC

    压力测试是指在MySQL上线前,需要进行大量的压力测试,从而达到交付的标准.压力测试不仅可以测试MySQL服务的稳定性,还可以测试出MySQL和系统的瓶颈. TPCC测试:Transaction Pr ...

  6. tpch测试mysql_MySQL TPCH测试工具简要手册

    tpch是TPC(Transaction Processing Performance Council)组织提供的工具包.用于进行OLAP测试,以评估商业分析中决策支持系统(DSS)的性能.它包含了一 ...

  7. Greenplum,HAWQ interval parser带来的问题 - TPCH 测试注意啦

    Greenplum,HAWQ interval parser带来的问题 - TPCH 测试注意啦 作者 digoal 日期 2016-10-11 标签 Greenplum , PostgreSQL , ...

  8. oracle 测试sql执行时间_从 TPCH 测试学习性能优化技巧

    一. 目标 TPCH是由TPC(Transaction Processing Performance Council)事务处理性能委员会公布的一套针对数据库决策支持能力的测试基准,通过模拟数据库中与业 ...

  9. PG系列数据库TPCH测试文档

    PG系列数据库TPCH测试文档 该文档适用于使用postgresql语法的数据库 一.机器环境 此次测试只为走通该测试的测试流程,准备的服务器是本地虚拟化的机器,故性能不具备参考价值 主机名 ip 内 ...

最新文章

  1. C++(一)——存储持续性、作用域、链接性
  2. Vue指令篇_v-for_列表渲染
  3. 18张难以置信的照片,封面这张你就没见过
  4. 带进度条的文件复制。
  5. java jtable导出txt_如何将jtable中的文本数据保存到文件中
  6. java mvc jquery weui_WEUI 事件绑定
  7. 官网下的 demoMUI,a链接失效和点击事件失效
  8. Delphi2010 RTTI + Attribute 简单实现ORM实例
  9. python下载显示文件丢失_python27.dll是什么文件|python27.dll丢失修复下载32/64位
  10. 2.5 js格式化时间库
  11. 程序员风格的修真小说 —— 《码师》
  12. 用PYTHON将微信聊天记录生成词云虐狗步骤
  13. ftp列表错误或长城宽带连不上ftp的解决方法
  14. 卷积神经网络的网络结构——Hourglass
  15. 【教3妹学mysql】一条慢sql如何排查优化
  16. Oracle-OSP-Process->OSP Requisition Qty Is Not Matching With Discrete Job‘s Qty (Doc ID 2289283.1)
  17. proteus教程——使能端口控制8255
  18. java多线程电梯调度_面向对象之多线程(可捎带电梯调度)
  19. 清除指定域名下的cookie
  20. 获取小数点前面的数字

热门文章

  1. GraphicsMagick创建空白图片
  2. 利用kvaser和Python编写监控界面(1)
  3. java词云_Java:生成词云(KUMO)
  4. rpm提示:XXX conflicts with file form package XXX
  5. php对接java接口(丁香医生)aes加解密-PKCS5Padding,rsa加解密
  6. 理解不变因子、行列式因子、初等因子
  7. python selenium UI自动化解决验证码的4种方法
  8. Linux学习_Sinno_Song_新浪博客
  9. 什么是 DNS? | DNS 的工作方式
  10. 男人的最高品位在于选择女人