概述
目前有一个更像Oracle的国产数据库在做推广,有幸参与了测试几次。这次测试的环境就是默认的安装没有调整参数等啥的,全部用的默认参数。以下看看测试过程。我这里就是生搬了官网的测试过程。略过了参数调优的过程和创建数据库的过程,
环境介绍
测试软件目录 /home/yashan/tpc-c/benchmarksql-5.0
CPU和内存信息
磁盘:测试数据加上数据库本事的数据量 一共产生了21G 。大于这个数值就可以了。
测试软件适配
添加崖山的适配
vi benchmarksql-5.0/src/client/jTPCC.java
vi benchmarksql-5.0/src/client/jTPCCConfig.java
添加红色框内的内容
然后再编译一下就行了,工具算是适配好了。
$ cd benchmarksql-5.0
$ ant
Buildfile: /home/yashan/tpc-c/benchmarksql-5.0/build.xml
init:
compile:
[javac] Compiling 11 source files to /home/yashan/tpc-c/benchmarksql-5.0/build
dist:
[mkdir] Created dir: /home/yashan/tpc-c/benchmarksql-5.0/dist
[jar] Building jar: /home/yashan/tpc-c/benchmarksql-5.0/dist/BenchmarkSQL-5.0.jar
BUILD SUCCESSFUL
Total time: 1 second
测试数据设置
创建文件props.yashandb
cd /home/yashan/tpc-c/benchmarksql-5.0/run
vi props.yashandb
db=yashandb
driver=com.yashandb.jdbc.Driver
conn=jdbc:yasdb://127.0.0.1:1688/yashandb
user=sys
password=sys
warehouses=10
loadWorkers=2
terminals=10
runTxnsPerTerminal=0
runMins=5
limitTxnsPerMin=0
terminalWarehouseFixed=true
newOrderWeight=45
paymentWeight=43
orderStatusWeight=4
deliveryWeight=4
stockLevelWeight=4
resultDirectory=my_result_%tY-%tm-%td_%tH%tM%tS
osCollectorScript=./misc/os_collector_linux.py
osCollectorInterval=1
连接描述符conn 要写实际的ip地址才好,就是数据库监听的IP地址。
修改文件funcs.sh
这个文件我是直接用了崖山官网的 脚本文件的全部内容,把原本的文件删除了。
vi /home/yashan/tpc-c/benchmarksql-5.0/run/funcs.sh
# ----
# $1 is the properties file
# ----
PROPS=$1
if [ ! -f ${PROPS} ] ; then
echo "${PROPS}: no such file" >&2
exit 1
fi
# ----
# getProp()
#
# Get a config value from the properties file.
# ----
function getProp()
{
grep "^${1}=" ${PROPS} | sed -e "s/^${1}=//"
}
# ----
# getCP()
#
# Determine the CLASSPATH based on the database system.
# ----
function setCP()
{
case "$(getProp db)" in
firebird)
cp="../lib/firebird/*:../lib/*"
;;
oracle)
cp="../lib/oracle/*"
if [ ! -z "${ORACLE_HOME}" -a -d ${ORACLE_HOME}/lib ] ; then
cp="${cp}:${ORACLE_HOME}/lib/*"
fi
cp="${cp}:../lib/*"
;;
postgres)
cp="../lib/postgres/*:../lib/*"
;;
yashandb)
cp="../lib/yashandb/*:../lib/*"
;;
esac
myCP=".:${cp}:../dist/*"
export myCP
}
# ----
# Make sure that the properties file does have db= and the value
# is a database, we support.
# ----
case "$(getProp db)" in
firebird|oracle|postgres|yashandb)
;;
"") echo "ERROR: missing db= config option in ${PROPS}" >&2
exit 1
;;
*) echo "ERROR: unsupported database type 'db=$(getProp db)' in ${PROPS}" >&2
exit 1
;;
esac
添加yashandb java connector驱动
YashanDB 下载中心 yashandb的 jdbc的驱动下载,下载完成之后把驱动放到
/home/yashan/tpc-c/benchmarksql-5.0/lib/yashandb/
TPC-C测试运行
部署数据库的过程参见官网链接,此处就略过了。
TPC-C数据装载
./runDatabaseBuild.sh props.yashandb
完成的效果图
运行TPC-C测试
./runBenchmark.sh props.yashandb
测试结果
实话说,这个测试结果有点惊艳到我了,下次我在按照官网的调优参数调整一下看看。是不是效果更好一些。
工具下载:
https://sourceforge.net/projects/benchmarksql/
参考官方链接