当前位置:文档之家› 数据库性能测试报告-1.0.0

数据库性能测试报告-1.0.0

数据库性能测试报告
目录
1.前言 (4)
2.测试方法概述 (4)
2.1.测试环境 (4)
2.1.1.硬件环境 (4)
2.1.2.软件环境 (5)
2.2.测试工具 (5)
2.2.1.Tpch介绍 (5)
2.2.2.Jmeter介绍 (7)
2.2.3.Nmon介绍 (7)
2.3.测试方法 (7)
3.测试过程 (8)
3.1.测试数据库搭建 (8)
3.2.测试脚本准备 (8)
3.2.1.DDL脚本 (8)
3.2.2.平面数据文件 (8)
3.2.3.查询sql语句 (8)
3.3.测试数据规模 (26)
3.4.测试工具开发 (26)
3.4.1.插入数据功能 (26)
3.5.测试步骤 (27)
4.测试结果 (28)
4.1.数据量级—1GB (28)
4.1.1.装载时间对比 (29)
4.1.2.串行时间对比 (29)
4.1.3.并行时间对比 (30)
bright资源消耗情况 (30)
4.1.5.PostgreSQL资源消耗情况 (31)
4.2.数据量级—10GB (33)
4.2.1.装载时间对比 (34)
4.2.2.串行时间对比 (35)
4.2.3.并行时间对比 (35)
bright资源消耗情况 (36)
4.2.5.PostgreSQL资源消耗情况 (38)
4.3.数据量级—30GB (41)
4.3.1.装载时间对比 (42)
4.3.2.串行时间对比 (42)
4.3.3.并行时间对比 (43)
bright资源消耗情况 (43)
4.3.5.PostgreSQL资源消耗情况 (46)
4.4.数据量级—100GB (48)
4.4.2.串行时间对比 (50)
4.4.3.并行时间对比 (50)
bright资源消耗情况 (51)
4.4.5.PostgreSQL资源消耗情况 (55)
5. 测试总结 (61)
1.前言
通过测试Oracle、Infobright、PostgreSQL三种数据库在TPC-H中的性能表现,作为数据仓库选型的决策依据之一。

2.测试方法概述
2.1.测试环境
2.1.1.硬件环境
2.1.2.软件环境
2.2.测试工具
2.2.1.TPC-H介绍
是什么
TPC Benchmark H(TPC-H)是一个决策支持的基准,它由一系列面向商务应用的查询
和并行数据修改组成。

●模拟表
●表之间的关系
2.2.2.Jmeter介绍
拥有如下功能:
单步测试
流程测试
并发测试
2.2.
3.Nmon介绍
服务器资源监控工具(监控内容包括:cpu、磁盘IO等)
2.3.测试方法
参照标准TPC-H方案,针对1GB、10GB、30GB、100GB不同级别的数据量进行测试。

3.测试过程
3.1.测试数据库搭建
3.2.测试脚本准备
3.2.1.DDL脚本
●Infobright
建表语句:
●oracle
建表语句:索引语句:●PostgreSQL
建表语句:索引语句:3.2.2.平面数据文件
初始化数据:./dbgen –vf –s 1
更新数据:./dbgen –vf –U 2 –s 1
3.2.3.查询sql语句
3.3.测试数据规模
3.4.测试工具开发
3.4.1.插入数据功能
1)找到需要删除的数据(平面文件中)
2)解析文件内容并找到要删除表的主键值
3)拼接删除的sql语句进行删除
4)先删除lineitem表的数据、最后删除orders表的数据
5)数据大小不超过总大小的0.1%
3.4.2.删除数据功能
1)找到需要删除的数据(平面文件中)
2)解析文件内容并找到要删除表的主键值
3)拼接删除的sql语句进行删除
4)先删除lineitem表的数据、最后删除orders表的数据
5)数据大小不超过总大小的0.1%
3.5.测试步骤
1)选择一种数据库,通过客户端登陆
2)删表。

如果测试表存在,则删除表
3)创建测试表
4)选择一个数据级的测试数据导入至对应的测试表
5)建立相应的主键、外键约束(infobright不需要创建约束,因为它是列式存储的)
6)记录装载数据的开始、结束时间
7)开始单步顺序执行22条查询语句
8)记录第一条查询开始的时间和最后一条查询结束的时间
9)记录每条语句的响应时间
10)开始并发执行组合1(随机组合的查询语句)的查询
11)开始并发执行组合2(随机组合的查询语句)的查询
12)记录并发执行的开始时间、结束时间
13)记录每条查询语句的响应时间
14)提取nmon的数据,整理出服务器资源消耗的情况
15)根据整理的时间、资源消耗情况绘制出折线图4.测试结果
4.1.数据量级—1GB
4.1.2.串行时间对比
说明:此处纵轴的400秒代表sql执行响应时间至少超过了1800秒
说明:此处纵轴的500秒代表sql执行响应时间至少超过了1800秒bright资源消耗情况
CPU+IO
●内存情况(总内存:32GB,单位:MB)
4.1.
5.PostgreSQL资源消耗情况
●CPU+IO消耗情况
内存消耗情况(总内存:32GB,单位:MB)
4.2.数据量级—10GB
4.2.1.装载时间对比
4.2.2.串行时间对比
说明:此处纵轴的400秒代表sql执行响应时间至少超过了1800秒4.2.3.并行时间对比
说明:此处纵轴的3000秒代表sql执行响应时间至少超过了1小时
说明:此处纵轴的400秒代表sql执行响应时间未知bright资源消耗情况 CPU+IO使用情况
内存使用情况(总内存:32GB,单位:MB)
4.2.
5.PostgreSQL资源消耗情况 CPU+IO资源消耗
内存资源消耗(总内存:32GB,单位:MB)
4.3.数据量级—30GB
4.3.2.串行时间对比
说明:此处纵轴的700秒代表sql执行响应时间至少超过了1800秒
说明:此处纵轴的2000秒代表sql执行响应时间未知
说明:此处纵轴的600秒代表sql执行响应时间未知bright资源消耗情况 CPU+IO资源消耗
内存消耗(总内存:64GB,单位:MB)
4.3.
5.PostgreSQL资源消耗情况 CPU+IO资源消耗
内存资源消耗(总内存:32GB,单位:MB)
4.4.数据量级—100GB
4.4.1.装载时间对比
4.4.2.串行时间对比
说明:此处纵轴的1400秒代表sql执行响应时间至少超过了2000秒4.4.3.并行时间对比
说明:此处纵轴的2000秒代表sql执行响应时间未知。

相关主题