达梦数据库的TPCC测试记录

达梦数据库的TPCC测试记录

测试环境
本文主要目的是介绍使用 benchmarksql工具进行 TPCC 测试的步骤
使用工具版本:benchmarksql-4.1.1

服务器:华为泰山v1
CPU:海思1616 32核x2;
内存:192G;
硬盘:1.2Tx5
系统:中标麒麟 release V7Update6/(Chromium)-aarch64

1.上传数据库的驱动包jar文件
上传目录:/home/setup/tpcc/benchmarksql-4.1.1/lib/

2.初始化相关配置
1、创建测试用户
[[email protected] dm7]# su - dmdba
[[email protected] dmdbms]$ cd /dm7/bin
[[email protected] bin]$ ./disql SYSDBA/[email protected]

create tablespace TPCC datafile ‘TPCC01.dbf‘ size 128 autoextend on maxsize unlimited;
create user BENCHMARKSQL identified by "123456789" default tablespace TPCC;
grant DBA to BENCHMARKSQL;

2、配置props.dm脚本内容
driver=dm.jdbc.driver.DmDriver
conn=jdbc:dm://IP地址:端口号
user=BENCHMARKSQL
password=123456789

warehouses=100
terminals=144
//To run specified transactions per terminal- runMins must equal zero
runTxnsPerTerminal=0
//To run for specified minutes- runTxnsPerTerminal must equal zero
runMins=5
//Number of total transactions per minute
limitTxnsPerMin=0

//The following five values must add up to 100
newOrderWeight=45
paymentWeight=43
orderStatusWeight=4
deliveryWeight=4
stockLevelWeight=4

注:runMins=5 表示测试时间为 5分钟

3.创建表
包含创建表语句,扩库以及日志文件、优化表语句
先在sqlTableCreates_DM这个文件里编写SQL语句
[[email protected] run]#cd /home/setup/tpcc/benchmarksql-4.1.1/run
[[email protected] run]# ./runSQL.sh props.dm dm01_sqlTableCreates

-bash: ./runSQL.sh: 权限不够
如果有提示这个执行权限不够,将执行赋值权限操作:
[[email protected] run]# chmod -R 755 /home/setup/tpcc/benchmarksql-4.1.1

4.创建索引
[[email protected] run]#./runSQL.sh props.dm dm02_sqlIndexCreates

5.装载数据
模拟真实业务的交易数据
[[email protected] run]#./runLoader.sh props.dm numWarehouses 100
这步需要等待一会时间,性能好的20分钟,泰山服务器60分钟

提示以下信息表示执行装载数据完成。

6.修改数据库参数

手动修改数据库的参数,如达梦数据库 dm.ini 的下列参数:
MAX_OS_MEMORY = 100
MEMORY_POOL = 1000
BUFFER = 100000
BUFFER_POOLS = 101
FAST_POOL_PAGES = 90000
FAST_ROLL_PAGES = 80000
RECYCLE = 8
MULTI_PAGE_GET_NUM = 64
MAX_BUFFER = 100000
VM_MEM_HEAP = 0
WORKER_THREADS = 24
WORK_THRD_STACK_SIZE = 512
CKPT_RLOG_SIZE = 0
CKPT_INTERVAL = 3600
CKPT_DIRTY_PAGES = 0
FORCE_FLUSH_PAGES = 0
IO_THR_GROUPS =12
CHECK_DB_IS_ACTIVE = 0
BDTA_SIZE = 20
ENABLE_SPACELIMIT_CHECK = 0
RLOG_PARALLEL_ENABLE = 1
RLOG_RESERVE_SIZE = 0
SESS_CHECK_INTERVAL = 30
FAST_RELEASE_SLOCK = 0
NOWAIT_WHEN_UNIQUE_CONFLICT = 1
UNDO_EXTENT_NUM = 32
UNDO_RETENTION = 1
MAX_SESSIONS = 1000
SUBQ_EXP_CVT_FLAG = 0
PURGE_DEL_OPT = 1
ENABLE_FREQROOTS = 2
CACHE_POOL_SIZE = 100
DICT_BUF_SIZE = 20
ENABLE_MONITOR = 0

注 1:BUFFER 估算公式为:单库不超过 100M,BUFFER>= 100M * 库个数。内存允许的 情况下,可以放大。
注 2:WORKER_THREADS 估算公式为:WORKER_THREADS = 系统逻辑 cpu 个数

注 3:IO_THR_GROUPS 估算公式为:IO_THR_GROUPS =系统逻辑 cpu 个数 / 2
注 4:BDTA_SIZE=20 和 UNDO_RETENTION<=3 必须同时设置
注 5:N_PLN_POOLS=17 老版本有用,新版本废弃。

7.重启服务器
service DmServiceDMSERVER restart

8.预加载数据到内存
[[email protected] run]#./runSQL.sh props.dm dm03_sqlCount

9.执行测试
修改 log4j.xml
确保配置文件有这条配置,如果没有,手动添加(压力机硬件较差的情况会对测试结果造成巨大影响):
<param name="Threshold" value="info"/>

执行命令如下:
[[email protected] ~]# cd /home/setup/tpcc/benchmarksql-4.1.1/run
[[email protected] ~]# ./runBenchmark.sh props.dm
这步需要等待一会时间,执行提示多版本操作冲突过多,先忽略。

注:测试结果日志文件目录:run/log/benchmarksql.log

benchmarksql.log测试结果说明
Measured tpmC (NewOrders) = 196182.35,每分钟新订单数为19万多,每秒196182/60=3269多交易,新订单占比45%左右
Measured tpmTOTAL = 436217.74,每分钟处理的总数为43万多,每秒196182/60=7270多交易
Transaction Count = 2181364,5分钟处理的总数218万多

原文地址:https://blog.51cto.com/14615334/2463439

时间: 2024-10-10 06:47:54

达梦数据库的TPCC测试记录的相关文章

达梦数据库常用功能及命令记录--持续更新

达梦数据库常用功能及命令记录 达梦数据库语句的使用总体来说跟oracle很接近的,这篇文章主要是把常用的情况和语句做了记录,并且后续还会不断的持续更新 达梦数据库常用说明 1.测试查询语句:select 1;select top 2 from v$dm_ini; select from v$dm_ini limit 2;select * from v$dm_ini where rownum<2; 2.达梦大小写:DM7.6之前版本默认密码是转为大写存储的,登录时要注意.比如用户设置test/te

基于Enterprise Library的Winform开发框架实现支持国产达梦数据库的扩展操作

由于一个客户朋友的需求,需要我的Winform开发框架支持国产达梦数据库的操作,这个数据库很早就听过,但是真正一般项目用的很少,一般在一些特殊的项目可能需要用到.由于我的Winform开发框架,是基于Enterprise Library的数据访问层的实现,因此增加一个数据库的支持很容易,本文介绍如何在框架层面上支持这种神秘的国产数据库-达梦数据库. 1.达梦数据库的简单介绍 达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM.达梦数据库管理系统的最新版本是7.

DB 查询分析器 6.03 如何灵活、快捷地操作国产达梦数据库

DB 查询分析器 6.03 如何灵活.快捷地操作国产达梦数据库 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要       本文详细地介绍了"万能数据库查询分析器",中文版本<DB 查询分析器>.英文版本<DB Query Analyzer>6.03如何灵活.快捷地操作国产达梦数据库.除了创建基于不同数据库产品的ODBC数据源有所不同外,用"万能数据库查询分析器"操作任何数据库.EXCEL.TXT/CSV文件的方法跟本文

[转帖]达梦数据库(DM6)和ORACLE 10g的异同点

达梦数据库(DM6)和ORACLE 10g的异同点    https://bbs.aliyun.com/detail/351337.html 花花浪子 级别: 小白 发帖 0 云币 -41 加关注 写私信 只看楼主 更多操作楼主  发表于: 2017-03-24 比较惭愧,在当上本版版主后一直没有贡献一篇有营养的帖子,由于手上正好有达梦数据 DM6的版本,加上对ORACLE 10G比较熟悉,所以就这2种数据库的异同点做一个对比,也请大家不吝赐教. 对于达梦数据库,因为目前的工作是DBA,主要是对

达梦数据库的过程包使用

达梦数据库的过程包使用 过程包即Package,它是存储过程的延伸,包的实现主要包括包头和包体,其中包头主要用于定义接口,包体主要用以实现包体中声明的存储过程.函数等.如果业务中需要用到大量的存储过程,则需要用过程包对存储过程进行进一步的包装,Package 分为Package声明以及Packge body,需要先声明存储过程,存储过程中相关的数据,在Package body中实现声明中的存储过程. 1.查看所有角色首先创建一张测试的表来测试create table tab_package_cs

达梦数据库的触发器管理

达梦数据库的触发器管理 触发器类型有分为操作前触发.操作后触发.DLL事件触发.系统事件触发.时间触发等等,触发器与存储过程的区别是触发器不能单独执行调用,而是在用户执行特定语句时自动触发执行触发器.以下举例常见的插入事件.更新事件做演示. 1.创建BEFORE触发器测试准备工作创建触发器前先建两张测试表(数据表和结果表),目的在数据表插入前就执行触发器里的语句,触发器里的语句是统计当前数据库的记录数.create table tab_before(id int, name varchar(20

达梦数据库(第二部分)

1.达梦数据库创建表 达梦数据安装完成之后,打开DM管理工具,可以进行数据库的相关操作.可以通过新建查询,在SQL命令窗口输入sql语句,创建表,sql输入完成之后,选择sql进行执行,则会在表空间MAIN下的表路径下产生新建的表文件,如下图: 2.建立主键 Create table时通过primary key创建主键 如:create table person(ID int primary key,name varchar(10),address varchar(60)) 或者通过alter语

达梦数据库(第一部分)

达梦数据库相关的操作 1. 安装步骤 1.1下载达梦安装包,下载完成之后解压,双击setup.exe,得到如下图所示,语言和时区默认为"简体中文"."中国标准时间",点击"确定": 1.2进入安装向导,点击"开始",如下图: 1.3进入许可证协议,选择"我接受",点击"下一步",如下图: 1.4进入组件版本信息界面,点击"下一步",如下图: 1.5进入上传key文件界

国产达梦数据库-通过Excel文件导入数据

考虑到完整性,我这里就啰嗦一点,从新建达梦数据库的数据库,再新建表.表结构开始. 一.新建数据库:模式 --> 右键 --> 新建模式:这里的新建模式就是MySQL中的新建库 二.弹出如下新建模式对话框: 三.输入模式名,并选择模式拥有者,操作如下: 四.再点两次确定按钮,即可完成新建模式,完成后,列表会显示刚新建的模式OASYS,如下图: 五.既然现在有了模式(数据库),就可以新建具体要使用的表了,操作如下: 六.打开新建表对话框,填写输入具体表信息.字段信息,如下图: 七.点击确定以后,结