达梦数据库 - 新一代大型通用关系型数据库 | 达梦云适配中心

1.使用benchwarksql进行tpcc测试上传所需软件包并解压bms.tar

bms5_index.sql  bms5_table.sql  bms.tar

2.检查驱动版本

../benchmarksql/lib/dm 下面是否是最新的驱动,如果没有直接到数据库下拷贝/opt/dmdbms/drivers/jdbc/DmJdbcDriver18.jar

3.配置prop.dm文件来规划预创建表的数据量

[root@DM02 run]$ vi props.dmdb=dmdriver=dm.jdbc.driver.DmDriverconn=jdbc:dm://10.15.1.12:5236user=SYSDBApassword=SYSDBAwarehouses=100loadWorkers=48terminals=10runMins=5runTxnsPerTerminal=0limitTxnsPerMin=0newOrderWeight=45paymentWeight=43orderStatusWeight=4deliveryWeight=4stockLevelWeight=4

warehouse:被测仓库数,决定测试表的数据量注意分区表目前仅支持100,200,300,400,500,600,800,1000,2000仓。

loadworkers:数据装载的并发数

terminals:数据库连接并发数

runMins:测试时间,单位为分钟

4.脚本建表

[root@D02 run]# ./runSQL.sh props.dm ./sql.dameng/tableCreates.sql

[root@D02 run]# ./runSQL.sh props.dm ./sql.dameng/tableCreates.sql
# ------------------------------------------------------------
# Loading SQL file ./sql.dameng/tableCreates.sql
# ------------------------------------------------------------
CREATE TABLESPACE TPCC DATAFILE 'TPCC01.dbf' SIZE 20480;
CREATE USER "BENCHMARKSQL" IDENTIFIED BY "123456789" DEFAULT TABLESPACE "TPCC";
GRANT DBA TO "BENCHMARKSQL";
CREATE SEQUENCE "BENCHMARKSQL"."BMSQL_HIST_ID_SEQ" INCREMENT BY 1 START WITH 1 MAXVALUE 9223372036854775807 MINVALUE 1;
CREATE TABLE "BENCHMARKSQL"."BMSQL_CONFIG"
(
"CFG_NAME" VARCHAR(30) NOT NULL,
"CFG_VALUE" VARCHAR(50),
CLUSTER PRIMARY KEY("CFG_NAME")) STORAGE(ON "TPCC", CLUSTERBTR) ;
CREATE TABLE "BENCHMARKSQL"."BMSQL_CUSTOMER"
(
"C_W_ID" INTEGER NOT NULL,
"C_D_ID" INTEGER NOT NULL,
"C_ID" INTEGER NOT NULL,
"C_DISCOUNT" DECIMAL(4,4),
"C_CREDIT" CHAR(2),
"C_LAST" VARCHAR(16),
"C_FIRST" VARCHAR(16),
"C_CREDIT_LIM" DECIMAL(12,2),
"C_BALANCE" DECIMAL(12,2),
"C_YTD_PAYMENT" DECIMAL(12,2),
"C_PAYMENT_CNT" INTEGER,
"C_DELIVERY_CNT" INTEGER,
"C_STREET_1" VARCHAR(20),
"C_STREET_2" VARCHAR(20),
"C_CITY" VARCHAR(20),
"C_STATE" CHAR(2),
"C_ZIP" CHAR(9),
"C_PHONE" CHAR(16),
"C_SINCE" TIMESTAMP(6),
"C_MIDDLE" CHAR(2),
"C_DATA" VARCHAR(500),
CLUSTER PRIMARY KEY("C_W_ID", "C_D_ID", "C_ID")) STORAGE(ON "TPCC", CLUSTERBTR, WITHOUT COUNTER) ;
CREATE TABLE "BENCHMARKSQL"."BMSQL_DISTRICT"
(
"D_W_ID" INTEGER NOT NULL,
"D_ID" INTEGER NOT NULL,
"D_YTD" DECIMAL(12,2),
"D_TAX" DECIMAL(4,4),
"D_NEXT_O_ID" INTEGER,
"D_NAME" VARCHAR(10),
"D_STREET_1" VARCHAR(20),
"D_STREET_2" VARCHAR(20),
"D_CITY" VARCHAR(20),
"D_STATE" CHAR(2),
"D_ZIP" CHAR(9),
CLUSTER PRIMARY KEY("D_W_ID", "D_ID")) STORAGE(FILLFACTOR 2, ON "TPCC", CLUSTERBTR, WITHOUT COUNTER) ;
CREATE TABLE "BENCHMARKSQL"."BMSQL_HISTORY"
(
"HIST_ID" INTEGER DEFAULT BENCHMARKSQL.BMSQL_HIST_ID_SEQ.NEXTVAL,
"H_C_ID" INTEGER,
"H_C_D_ID" INTEGER,
"H_C_W_ID" INTEGER,
"H_D_ID" INTEGER,
"H_W_ID" INTEGER,
"H_DATE" TIMESTAMP(6),
"H_AMOUNT" DECIMAL(6,2),
"H_DATA" VARCHAR(24)) STORAGE(ON "TPCC", BRANCH(32, 32), WITHOUT COUNTER) ;
CREATE TABLE "BENCHMARKSQL"."BMSQL_ITEM"
(
"I_ID" INTEGER NOT NULL,
"I_NAME" VARCHAR(24),
"I_PRICE" DECIMAL(5,2),
"I_DATA" VARCHAR(50),
"I_IM_ID" INTEGER,
CLUSTER PRIMARY KEY("I_ID")) STORAGE(ON "TPCC", CLUSTERBTR, WITHOUT COUNTER) ;
CREATE TABLE "BENCHMARKSQL"."BMSQL_NEW_ORDER"
(
"NO_W_ID" INTEGER NOT NULL,
"NO_D_ID" INTEGER NOT NULL,
"NO_O_ID" INTEGER NOT NULL,
CLUSTER PRIMARY KEY("NO_W_ID", "NO_D_ID", "NO_O_ID")) STORAGE(ON "TPCC", CLUSTERBTR, WITHOUT COUNTER) ;
CREATE TABLE "BENCHMARKSQL"."BMSQL_OORDER"
(
"O_W_ID" INTEGER NOT NULL,
"O_D_ID" INTEGER NOT NULL,
"O_ID" INTEGER NOT NULL,
"O_C_ID" INTEGER,
"O_CARRIER_ID" INTEGER,
"O_OL_CNT" INTEGER,
"O_ALL_LOCAL" INTEGER,
"O_ENTRY_D" TIMESTAMP(6),
CLUSTER PRIMARY KEY("O_W_ID", "O_D_ID", "O_ID")) STORAGE(ON "TPCC", CLUSTERBTR, WITHOUT COUNTER) ;
CREATE TABLE "BENCHMARKSQL"."BMSQL_ORDER_LINE"
(
"OL_W_ID" INTEGER NOT NULL,
"OL_D_ID" INTEGER NOT NULL,
"OL_O_ID" INTEGER NOT NULL,
"OL_NUMBER" INTEGER NOT NULL,
"OL_I_ID" INTEGER NOT NULL,
"OL_DELIVERY_D" TIMESTAMP(6),
"OL_AMOUNT" DECIMAL(6,2),
"OL_SUPPLY_W_ID" INTEGER,
"OL_QUANTITY" INTEGER,
"OL_DIST_INFO" CHAR(24),
CLUSTER PRIMARY KEY("OL_W_ID", "OL_D_ID", "OL_O_ID", "OL_NUMBER")) STORAGE(ON "TPCC", CLUSTERBTR, WITHOUT COUNTER) ;
CREATE TABLE "BENCHMARKSQL"."BMSQL_STOCK"
(
"S_W_ID" INTEGER NOT NULL,
"S_I_ID" INTEGER NOT NULL,
"S_QUANTITY" INTEGER,
"S_YTD" INTEGER,
"S_ORDER_CNT" INTEGER,
"S_REMOTE_CNT" INTEGER,
"S_DATA" VARCHAR(50),
"S_DIST_01" CHAR(24),
"S_DIST_02" CHAR(24),
"S_DIST_03" CHAR(24),
"S_DIST_04" CHAR(24),
"S_DIST_05" CHAR(24),
"S_DIST_06" CHAR(24),
"S_DIST_07" CHAR(24),
"S_DIST_08" CHAR(24),
"S_DIST_09" CHAR(24),
"S_DIST_10" CHAR(24),
CLUSTER PRIMARY KEY("S_W_ID", "S_I_ID")) STORAGE(ON "TPCC", CLUSTERBTR, WITHOUT COUNTER) ;
CREATE TABLE "BENCHMARKSQL"."BMSQL_WAREHOUSE"
(
"W_ID" INTEGER NOT NULL,
"W_YTD" DECIMAL(12,2),
"W_TAX" DECIMAL(4,4),
"W_NAME" VARCHAR(10),
"W_STREET_1" VARCHAR(20),
"W_STREET_2" VARCHAR(20),
"W_CITY" VARCHAR(20),
"W_STATE" CHAR(2),
"W_ZIP" CHAR(9),
CLUSTER PRIMARY KEY("W_ID")) STORAGE(FILLFACTOR 2, ON "TPCC", CLUSTERBTR, WITHOUT COUNTER) ;。

5.装载数据

装载数据执行需编辑文件vi props.dm 更改user和password为新创建的用户及密码

[root@DM02 run]# ./runLoader.sh props.dm numWarehouses 10
Starting BenchmarkSQL LoadDatadriver=dm.jdbc.driver.DmDriver
conn=jdbc:dm://10.15.1.12:5236
user=BENCHMARKSQL
password=***********
warehouses=100
loadWorkers=48
fileLocation (not defined)
csvNullValue (not defined - using default 'NULL')Worker 000: Loading ITEM
Worker 001: Loading Warehouse      1
Worker 002: Loading Warehouse      2
Worker 003: Loading Warehouse      3
Worker 004: Loading Warehouse      4
Worker 005: Loading Warehouse      5
Worker 006: Loading Warehouse      6
Worker 007: Loading Warehouse      7
Worker 008: Loading Warehouse      8
Worker 009: Loading Warehouse      9
Worker 010: Loading Warehouse     10
Worker 011: Loading Warehouse     11
Worker 012: Loading Warehouse     12
Worker 013: Loading Warehouse     13
Worker 014: Loading Warehouse     14

6.执行测试脚本开始测试

前台执行:

./runBenchmark.sh props.dm

后台执行:

nohup ./runBenchmark.sh props.dm > /dev/null 2>&1 &

[root@DM02 run]# ./runBenchmark.sh props.dm
15:21:35,098 [main] INFO   jTPCC : Term-00,
15:21:35,100 [main] INFO   jTPCC : Term-00, +-------------------------------------------------------------+
15:21:35,100 [main] INFO   jTPCC : Term-00,      BenchmarkSQL v5.0rc2
15:21:35,101 [main] INFO   jTPCC : Term-00, +-------------------------------------------------------------+
15:21:35,101 [main] INFO   jTPCC : Term-00,  (c) 2003, Raul Barbosa
15:21:35,101 [main] INFO   jTPCC : Term-00,  (c) 2004-2016, Denis Lussier
15:21:35,103 [main] INFO   jTPCC : Term-00,  (c) 2016, Jan Wieck
15:21:35,103 [main] INFO   jTPCC : Term-00, +-------------------------------------------------------------+
15:21:35,103 [main] INFO   jTPCC : Term-00,
15:21:35,103 [main] INFO   jTPCC : Term-00, db=dm
15:21:35,103 [main] INFO   jTPCC : Term-00, driver=dm.jdbc.driver.DmDriver
15:21:35,103 [main] INFO   jTPCC : Term-00, conn=jdbc:dm://10.15.1.12:5236
15:21:35,103 [main] INFO   jTPCC : Term-00, user=BENCHMARKSQL
15:21:35,103 [main] INFO   jTPCC : Term-00,
15:21:35,103 [main] INFO   jTPCC : Term-00, warehouses=100
15:21:35,103 [main] INFO   jTPCC : Term-00, terminals=10
15:21:35,105 [main] INFO   jTPCC : Term-00, runMins=5
15:21:35,105 [main] INFO   jTPCC : Term-00, limitTxnsPerMin=0
15:21:35,105 [main] INFO   jTPCC : Term-00, terminalWarehouseFixed=null
15:21:35,105 [main] INFO   jTPCC : Term-00,
15:21:35,105 [main] INFO   jTPCC : Term-00, newOrderWeight=45
15:21:35,105 [main] INFO   jTPCC : Term-00, paymentWeight=43
15:21:35,105 [main] INFO   jTPCC : Term-00, orderStatusWeight=4
15:21:35,105 [main] INFO   jTPCC : Term-00, deliveryWeight=4
15:21:35,105 [main] INFO   jTPCC : Term-00, stockLevelWeight=4
15:21:35,105 [main] INFO   jTPCC : Term-00,
15:21:35,105 [main] INFO   jTPCC : Term-00, resultDirectory=null
15:21:35,106 [main] INFO   jTPCC : Term-00, osCollectorScript=null
15:21:35,106 [main] INFO   jTPCC : Term-00,
15:21:35,289 [main] INFO   jTPCC : Term-00, C value for C_LAST during load: 254
15:21:35,289 [main] INFO   jTPCC : Term-00, C value for C_LAST this run:    140
15:21:35,289 [main] INFO   jTPCC : Term-00,
Term-00, Running Average tpmTOTAL: 31068.69    Current tpmTOTAL: 1028148    Memory Usage: 236MB / 1698MB
15:26:35,413 [Thread-2] INFO   jTPCC : Term-00,
15:26:35,413 [Thread-2] INFO   jTPCC : Term-00,
15:26:35,414 [Thread-2] INFO   jTPCC : Term-00, Measured tpmC (NewOrders) = 13978.54
15:26:35,414 [Thread-2] INFO   jTPCC : Term-00, Measured tpmTOTAL = 31069.15
15:26:35,414 [Thread-2] INFO   jTPCC : Term-00, Session Start     = 2021-12-15 15:21:35
15:26:35,414 [Thread-2] INFO   jTPCC : Term-00, Session End       = 2021-12-15 15:26:35
15:26:35,414 [Thread-2] INFO   jTPCC : Term-00, Transaction Count = 155352

7.验证测试结果

(1) TPCC基准测试一致性验证语句

(SELECT W_ID, W_YTD FROM BMSQL_WAREHOUSE) EXCEPT(SELECT D_W_ID, SUM(D_YTD) FROM BMSQL_DISTRICT GROUP BY D_W_ID);

(SELECT D_W_ID, D_ID, D_NEXT_O_ID - 1 FROM BMSQL_DISTRICT) EXCEPT (SELECT O_W_ID,O_D_ID, MAX(O_ID) FROM BMSQL_OORDER GROUP BY O_W_ID, O_D_ID);

(SELECT D_W_ID, D_ID, D_NEXT_O_ID - 1 FROM BMSQL_DISTRICT) EXCEPT (SELECT NO_W_ID,NO_D_ID, MAX(NO_O_ID) FROM BMSQL_NEW_ORDER GROUP BY NO_W_ID, NO_D_ID);

SELECT * FROM (SELECT (COUNT(NO_O_ID)-(MAX(NO_O_ID)-MIN(NO_O_ID)+1)) AS DIFF FROM BMSQL_NEW_ORDER GROUP BY NO_W_ID, NO_D_ID) WHERE DIFF != 0;

(SELECT O_W_ID, O_D_ID, SUM(O_OL_CNT) FROM BMSQL_OORDER GROUP BY O_W_ID, O_D_ID) EXCEPT (SELECT OL_W_ID, OL_D_ID, COUNT(OL_O_ID) FROM BMSQL_ORDER_LINE GROUP BY OL_W_ID,OL_D_ID);

(SELECT D_W_ID, SUM(D_YTD) FROM BMSQL_DISTRICT GROUP BY D_W_ID) EXCEPT (SELECT W_ID, W_YTD FROM BMSQL_WAREHOUSE);

连接到数据库做以上查询,如果结果全为0行,则说明tpcc库是一致的,否则说明此库在运行过程中数据出现混乱

(2) 验证 bmsql_history 表新增的记录数

(3) transaction count * 43% 约等于 bmsql_history 表增加的数据量,不能存在数量级 的偏差

(4) 以下图为例9107164*0.43约等于bmsql_history 表增加的数据量。

15:38:23,801 [Thread-577] INFO   jTPCC : Term-00, Measured tpmC (NewOrders) = 409558.4

15:38:23,802 [Thread-577] INFO   jTPCC : Term-00, Measured tpmTOTAL = 910367.52

15:38:23,802 [Thread-577] INFO   jTPCC : Term-00, Session Start     = 2020-12-30 15:28:23

15:38:23,802 [Thread-577] INFO   jTPCC : Term-00, Session End       = 2020-12-30 15:38:23

15:38:23,802 [Thread-577] INFO   jTPCC : Term-00, Transaction Count = 9107164

错误提示:

执行测试脚本./runBenchmark.sh props.dm时报错:

15:05:12,112 [main] ERROR  jTPCC : Term-00, This session ended with errors!

该问题为terminals参数设置为100 和dm.ini文件中MAX_SESSIONS参数为100发生冲突导致。

达梦数据库 - 新一代大型通用关系型数据库 | 达梦云适配中心

DM8 TPCC测试相关推荐

  1. 达梦数据库TPCC测试记录

    一.测试概述 TPC-C是专门针对联机交易处理系统(OLTP系统)的规范,一般情况下我们也把这类系统称为业务处理系统. TPC-C测试的结果主要有两个指标,即流量指标(Throughput,简称tpm ...

  2. 达梦数据库tpcc测试

    达梦数据库tpcc测试 随着达梦数据库越来越流行,数据库性能测试成为日常DBA或运维人员必备技能知识,常见的性能测试工具有jemeter.loadrunner.tpcc.tpc-h等软件.常见的测试软 ...

  3. 【原创】oracle的tpc-c测试及方法

    大家好,很高兴来到博客园分享自己的所见所得.希望和大家多多交流,共同进步. 本文重点在于简介使用BenchmarkSQL对oracle进行tpcc的测试步骤,只是一个简单入门的过程. 开源测试工具:B ...

  4. OceanBase如何获得TPC-C测试第1名?

    阿里妹导读:TPC-C是TPC组织(国际事务性能委员会)制定的关于商品销售的订单创建和订单支付等的基准测试标准,是数据库联机交易处理系统的权威基准测试标准. 蚂蚁金服自研的分布式关系数据库OceanB ...

  5. mysql c测试程序_MySQL · 最佳实践 · 一个TPC-C测试工具sqlbench使用-阿里云开发者社区...

    TPC-C是数据库系统经常使用的一个性能测试标准,目前开源社区里有几个可以使用的TPC-C测试工具,如BenchmarkSQL.DBT2. tpcc-mysql等.今天这里要介绍的是另一个TPC-C测 ...

  6. tpc-c 测试方案

    测试工具: 本次测试采用quest公司的 benchmark factory和pl/sql developer . benchmark factory 用来进行 tpc-c 测试, pl/sql de ...

  7. 1.TPC-C测试工具一——TPC-C简介

    1.TPC-C测试工具一--TPC-C简介 1.  TPC-C简介 TPCC值被广泛用于衡量C/S环境下,由服务器和客户端构筑的整体系统的性能,它由事物处理性能委员会(TPC,Transaction ...

  8. tpc-c 服务器性能,TPC-E和TPC-C测试结果比较之我见

    [IT168 专稿]众所周知,微软在OLTP基准测试方面已经从TPC-C转向了全新的TPC-E.TPC-C包括5种存储过程调用(stored procedure calls):新订单.付款.送货.订单 ...

  9. 工具 | 如何对 MySQL 进行 TPC-C 测试?

    作者:丁源 RadonDB 测试负责人 负责 RadonDB 云数据库.容器化数据库的质量性能测试,迭代验证.对包括云数据库以及容器化数据库性能和高可用方案有深入研究. |背景 根据 DWorks 2 ...

最新文章

  1. Santa Cruz 上手测试,动作控制器自由度惊人
  2. ES6 异步编程之二:Promise
  3. php有多少种占位符,php 占位符问题?
  4. Java笔记-CXF增加拦截器与自定义拦截器
  5. Quartz CronTrigger时间最完整配置说明
  6. 表格中建一个按钮_没想到手机还有扫描功能,纸质表格一键电子化,看完快去试试...
  7. 大会直击|伯明翰大学教授姚新:类脑计算研究中三个被遗忘的问题
  8. Sublime Text3 插件集合
  9. 华为hg255d路由器使用博爱网络开发的操作系统进行中继设置
  10. Linux之yum安装MySQL
  11. 渤海银行天津分行计算机笔试,关于渤海银行笔试经验分享
  12. 浪潮服务器安装ESXI6.7 无raid驱动解决方案
  13. C语言笔试题与答案解析
  14. 亲测好用的全能视频播放器:OmniPlayer Pro Mac中文版
  15. 【Java虚拟机】浅谈Java虚拟机
  16. 艺赛旗RPA 网页处理系列(一):在网页中的可变元素如何准确定位
  17. Linux进程状态及其相互转换
  18. 【华为中央硬件部】最新社会招聘公告!
  19. oracle rac 火星舱_火星舱企业行业备份解决方案
  20. keep跑步截图生成器ios_主题月活动 |『公装跑步月』突破自我 票选邀您来参与!...

热门文章

  1. 基于QML的飞行仪表
  2. 兄弟连教育ABB战略合作签约 “工业机器人学院”项目正式启动
  3. android 字体 pd 问题,Apache PDFBox:是否可以设置PDType1Font中存在的字体以外的其他字体...
  4. 如何在Windows 10中设置和测试麦克风
  5. 详解Mybatis一对多、多对一、多对多
  6. 数据结构与算法-基础算法篇-排序(归并排序、快速排序)
  7. 面试官教你写简历之【中高级开发者简历指南】
  8. 设计模式之访问者模式
  9. [BZOJ1834][ZJOI2010]network 网络扩容(最大流+费用流)
  10. C语言学习笔记(字符串和字符串函数)