您好,登錄后才能下訂單哦!
測試環(huán)境
本文主要目的是介紹使用 benchmarksql工具進行 TPCC 測試的步驟
使用工具版本:benchmarksql-4.1.1
服務(wù)器:華為泰山v1
CPU:海思1616 32核x2;
內(nèi)存:192G;
硬盤:1.2Tx5
系統(tǒng):中標(biāo)麒麟 release V7Update6/(Chromium)-aarch74
1.上傳數(shù)據(jù)庫的驅(qū)動包jar文件
上傳目錄:/home/setup/tpcc/benchmarksql-4.1.1/lib/
2.初始化相關(guān)配置
1、創(chuàng)建測試用戶
[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腳本內(nèi)容
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.創(chuàng)建表
包含創(chuàng)建表語句,擴庫以及日志文件、優(yōu)化表語句
先在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: 權(quán)限不夠
如果有提示這個執(zhí)行權(quán)限不夠,將執(zhí)行賦值權(quán)限操作:
[root@isdtest run]# chmod -R 755 /home/setup/tpcc/benchmarksql-4.1.1
4.創(chuàng)建索引
[root@isdtest run]#./runSQL.sh props.dm dm02_sqlIndexCreates
5.裝載數(shù)據(jù)
模擬真實業(yè)務(wù)的交易數(shù)據(jù)
[root@isdtest run]#./runLoader.sh props.dm numWarehouses 100
這步需要等待一會時間,性能好的20分鐘,泰山服務(wù)器60分鐘
提示以下信息表示執(zhí)行裝載數(shù)據(jù)完成。
6.修改數(shù)據(jù)庫參數(shù)
手動修改數(shù)據(jù)庫的參數(shù),如達夢數(shù)據(jù)庫 dm.ini 的下列參數(shù):
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 * 庫個數(shù)。內(nèi)存允許的 情況下,可以放大。
注 2:WORKER_THREADS 估算公式為:WORKER_THREADS = 系統(tǒng)邏輯 cpu 個數(shù)
注 3:IO_THR_GROUPS 估算公式為:IO_THR_GROUPS =系統(tǒng)邏輯 cpu 個數(shù) / 2
注 4:BDTA_SIZE=20 和 UNDO_RETENTION<=3 必須同時設(shè)置
注 5:N_PLN_POOLS=17 老版本有用,新版本廢棄。
7.重啟服務(wù)器
service DmServiceDMSERVER restart
8.預(yù)加載數(shù)據(jù)到內(nèi)存
[root@isdtest run]#./runSQL.sh props.dm dm03_sqlCount
9.執(zhí)行測試
修改 log4j.xml
確保配置文件有這條配置,如果沒有,手動添加(壓力機硬件較差的情況會對測試結(jié)果造成巨大影響):
<param name="Threshold" value="info"/>
執(zhí)行命令如下:
[root@isdtest ~]# cd /home/setup/tpcc/benchmarksql-4.1.1/run
[root@isdtest ~]# ./runBenchmark.sh props.dm
這步需要等待一會時間,執(zhí)行提示多版本操作沖突過多,先忽略。
注:測試結(jié)果日志文件目錄:run/log/benchmarksql.log
benchmarksql.log測試結(jié)果說明
Measured tpmC (NewOrders) = 196182.35,每分鐘新訂單數(shù)為19萬多,每秒196182/60=3269多交易,新訂單占比45%左右
Measured tpmTOTAL = 436217.74,每分鐘處理的總數(shù)為43萬多,每秒196182/60=7270多交易
Transaction Count = 2181364,5分鐘處理的總數(shù)218萬多
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。