千家信息网

达梦数据库的TPCC测试记录

发表于:2025-01-30 作者:千家信息网编辑
千家信息网最后更新 2025年01月30日,达梦数据库的TPCC测试记录测试环境本文主要目的是介绍使用 benchmarksql工具进行 TPCC 测试的步骤使用工具版本:benchmarksql-4.1.1服务器:华为泰山v1CPU:海思16
千家信息网最后更新 2025年01月30日达梦数据库的TPCC测试记录

达梦数据库的TPCC测试记录

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

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

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

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

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语句
[root@isdtest run]#cd /home/setup/tpcc/benchmarksql-4.1.1/run
[root@isdtest run]# ./runSQL.sh props.dm dm01_sqlTableCreates

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

4.创建索引
[root@isdtest run]#./runSQL.sh props.dm dm02_sqlIndexCreates

5.装载数据
模拟真实业务的交易数据
[root@isdtest 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.预加载数据到内存
[root@isdtest run]#./runSQL.sh props.dm dm03_sqlCount

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

执行命令如下:
[root@isdtest ~]# cd /home/setup/tpcc/benchmarksql-4.1.1/run
[root@isdtest ~]# ./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万多

数据 测试 数据库 文件 配置 个数 公式 内存 参数 时间 服务器 权限 版本 系统 结果 语句 交易 提示 服务 不够 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州工控软件开发机构 网络安全法专题课件 云上城之歌服务器加载不出来 网络技术行业背景调查 西城服务器硬盘回收价格查询 软件工程师就是软件开发吗 网络安全会议 学院 壹家乐网络技术 成都旭呈网络技术 网络安全脆弱性因果 软件开发有必要考个研究生吗 松江区高科技软件开发技术指导 宁德时代网络安全工程师 网络安全要注意教学设计 工程管理前沿属于哪个数据库 四川大数据软件开发大概多少钱 无法连接系统所需数据库 阳途信息安全管理软件服务器 网络安全提高自己的意识 怎么绘制数据库实体关系图 中邮理财软件开发 网络安全服务公司注册条件 网络安全近十年的变化 路由器的网络安全密钥如何找 法院如何做好网络安全 mac软件开发内存要求 四川大数据软件开发大概多少钱 数据库join区别是什么 软件开发三分法 数据库字典设计
0