TPCC值被广泛用于衡量C/S环境下,由服务器和客户端构筑的整体系统的性能,它由事物处理性能委员会(TPC,Transaction Processing Corp)制定,TPC为非赢利性国际组织。
TPCC值可以反映出系统的性能价格比。TPCC测试系统每分钟处理的任务数,单位为tpm,(transactions per minute)。系统的总体价格(单位为美元)除以TPCC值,就可以衡量出系统的性价比,系统的性价比值越小,系统的性价比越好。
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测试包可以看到三个目录。
测试文件放在01_tpcc中。
运行该脚本的前提是已经部署好待测试数据库,并调优好参数及扩好redo日志。具体数据部署请参考其他文档。
TPCC 自动化测试脚本分为两部分:
①TPCC 数据装载
②TPCC 性能测试
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_load.sh中进行配置,包括数据库的IP、端口号、依赖、仓库数等。
以本地虚拟机为例:
需要根据情况配置项有数据库的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并发量、运行时间,即可开始TPCC性能测试。
测试的脚本为tpcc_test.sh
编辑脚本,修改参数。(主要修改端口号、bin路径、已经并发数,本地虚拟机设置为10个并发)
对脚本中的参数进行说明:
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时的并发数。
测试过程如下:
nmon工具监控
安装过程:
下载完成后,执行以下命令:
# 新建一个nmon文件夹
mkdir nmon
# 解压
tar xvfz nmon16e_mpginc.tar.gz
# 改名
mv nmon_x86_64_centos7 /root/nmon
# 给工具授权
chmod -x nmon 777
./nmon
#c
查看CPU相关信息
# m
查看内存相关信息
# d
查看磁盘相关信息
# n
查看网络相关信息
# t
查看相关进程信息
# h
查看帮助相关信息
利用nmon工具监控硬件的使用情况
nmon -s2 -c30 -f -m /tmp #-s2 2秒采集1次,-c 采集30次。
https://eco.dameng.com