达梦数据库tpcc测试

一、TPC-C简介

     TPCC值被广泛用于衡量C/S环境下,由服务器和客户端构筑的整体系统的性能,它由事物处理性能委员会(TPC,Transaction Processing Corp)制定,TPC为非赢利性国际组织。

    TPCC值可以反映出系统的性能价格比。TPCC测试系统每分钟处理的任务数,单位为tpm,(transactions per minute)。系统的总体价格(单位为美元)除以TPCC值,就可以衡量出系统的性价比,系统的性价比值越小,系统的性价比越好。

二、TPC-C规范概要

TPC基准TMC(TPC-C)是一个OLTP的工作基准。它是只读和更新频繁的事务的混合,它模拟复杂OLTP应用环境中的活动。它是通过模拟与 这种环境联系的大量特性实现的,这些特性包括为:

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

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

多个在线终端会话

中等系统和应用程序的执行时间

大量磁盘输入/输出

事务完整性(ACID属性)

通过主关键字和次关键字来访问非均匀分布的数据

由具有多种大小、属性和关联的多个表组成的数据库

数据访问和更新竞争

 

三、评测指标

TPC-C测试规范经过两年的研制,于1992年7月发布。几乎所有在OLTP市场提供软硬件平台的厂商都发布了相应的TPC-C测试结果,随着计算机技术的不断发展,这些测试结果也在不断刷新。

TPC-C的测试结果主要有两个指标:

①流量指标(Throughput,简称tpmC)

按照TPC的定义,流量指标描述了系统在执行Payment、Order-status、Delivery、Stock-Level这四种交易的同时,每分钟可以处理多少个New-Order交易。所有交易的响应时间必须满足TPC-C测试规范的要求。

流量指标值越大越好!

②性价比(Price/Performance,简称Price/tpmC)

即测试系统价格(指在美国的报价)与流量指标的比值。

性价比越大越好!

本文所用的TPCC测试,是指用BenchmarkSQL工具进行的,该工具默认只支持PG/ORACLE/MYSQL,对达梦数据库的支持需要修改其中源码。

四、测试环境准备

在/opt/下创建soft目录,将tpcc测试包放在soft目录下,对tpcc测试包赋予权限,

解压tpcc测试包,可以看到tpcc测试包的目录结构。

达梦数据库tpcc测试_第1张图片

 

 进入TPCC测试包可以看到三个目录。

 测试文件放在01_tpcc中。

达梦数据库tpcc测试_第2张图片

 

五、测试脚本配置

运行该脚本的前提是已经部署好待测试数据库,并调优好参数及扩好redo日志。具体数据部署请参考其他文档。

TPCC 自动化测试脚本分为两部分:

①TPCC 数据装载

②TPCC 性能测试

达梦数据库tpcc测试_第3张图片

1. tpcc_load.sh 是TPCC数据装载脚本,此名称只是模板,可自己改脚本名称,如tpcc_load.sh改为更具标识度的: ft2000_dsc_load.sh

2. tpcc_test.sh 是TPCC性能测试脚本,此名称只是模板,可自己改脚本名称,如tpcc_test.sh改为更具标识度的: ft2000_dsc_test.sh

3. nohup1/2.sh 是后台运行上述2个脚本的方法。

4. log 指TPCC数据装载、TPCC性能测试的结果记录,会以shell脚本的名称+执行时间生成日志文件。

5. 01_tpcc 目录下存储了TPCC测试所依赖的建表脚本、benchmarksql5测试工具等。.

六、TPCC 数据装载

对脚本中tpcc_load.sh中进行配置,包括数据库的IP、端口号、依赖、仓库数等。

以本地虚拟机为例:

达梦数据库tpcc测试_第4张图片

 需要根据情况配置项有数据库的IP、端口号(默认是5236)、BIN目录(本数据库在/home/dmdba/dmdbms/bin)、创建tpcc表的类型(此处选择普通表)、数据仓数默认100仓。

对脚本中的参数进行说明: 

1. DB_HOST1、DB_PORT1、SYSDBA_PWD是指定TPCC装载数据时连接的数据库实例地址、端口号及SYSDBA的密码。

2. DM_BIN 是指运行该脚本的机器上需要指定DM的bin目录。

3. TABLE_TYPE 是指创建TPCC表的类型,支持3种表:10 普通表;11 普通表带fillfactor填充因子;12 分区表。

4. TBS_SIZE 是装载TPCC数据所用的一个表空间大小。对于分区表,默认会创建10个表空间,此时TPCC创建的表空间总大小是 TBS_SIZE*10,因此要注意分区表时硬盘可用存储空间。

5. WAREHOUSES 是指TPCC装载的仓库数,根据要测试的仓库数设置。注意分区表目前仅支持100,200,300,400,500,600,800,1000,2000仓。

6. LOADWORKERS 是指TPCC装载数据时的并发量,该值建议10。

配置好后运行脚本

./tpcc_load.sh(数仓加载的过程,总计100仓)

达梦数据库tpcc测试_第5张图片

 

七、TPCC 性能测试

通过指定TPCC并发量、运行时间,即可开始TPCC性能测试。

测试的脚本为tpcc_test.sh

编辑脚本,修改参数。(主要修改端口号、bin路径、已经并发数,本地虚拟机设置为10个并发)

 达梦数据库tpcc测试_第6张图片

 

对脚本中的参数进行说明:

1. DB_HOST1、DB_PORT1、SYSDBA_PWD是指定TPCC装载数据时连接的数据库实例地址、端口号及SYSDBA的密码。

2. DM_BIN 是指运行该脚本的机器上需要指定DM的bin目录。

3. TEST_NODE 针对单机、主备、读写分离、非分库测试DSC,该值为1。如该值大于1,仅表示针对DSC的TPCC分库测试。

4. TEST_FLAG 是指是否进行TPCC测试,1表示进行 0表示不进行。

5. ACID_FLAG 是指进行TPCC测试前后,是否进行ACID检查。

6. CKPT_FLAG 是指进行TPCC测试前,是否做CHECKPOINT(100)。

7. PREHEAT_FALG 是指进行TPCC测试前,是否预热数据。

8. RUNMINS 是指TPCC测试时长,单位为分钟。

9. WAREHOUSES 是指测试TPCC的仓库数,需要与tpcc数据装载时的仓库数保持一致。

10. TERMINALS 是指测试TPCC时的并发数。

测试过程如下:

达梦数据库tpcc测试_第7张图片

 

八、TPCC测试过程监控

nmon工具监控

安装过程:

下载完成后,执行以下命令:

# 新建一个nmon文件夹

mkdir nmon

# 解压

tar xvfz nmon16e_mpginc.tar.gz

# 改名

mv nmon_x86_64_centos7 /root/nmon

# 给工具授权

chmod -x nmon 777

./nmon

达梦数据库tpcc测试_第8张图片 

#c

查看CPU相关信息

# m

查看内存相关信息

# d         

查看磁盘相关信息

# n         

查看网络相关信息

# t

查看相关进程信息

# h         

查看帮助相关信息

达梦数据库tpcc测试_第9张图片

利用nmon工具监控硬件的使用情况

nmon -s2 -c30 -f -m /tmp  #-s2 2秒采集1次,-c 采集30次。

https://eco.dameng.com

你可能感兴趣的:(big,data,数据库,sql,dba)