暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

TPCC测试

原创 云和恩墨交付战队 2022-11-21
603

  • 下载工具

下载TPCC标准测试工具BenchmarkSQL5.0
git clone -b 5.0-mysql-support-opt-2.1 https://github.com/pingcap/benchmarksql.git
或下载后上传
BenchmarkSQL 5.0:https://github.com/pingcap/benchmarksql
可以联网但无法ping通github,加以下两行
192.30.255.112 github.com git
185.31.16.184 github.global.ssl.fastly.net

  • 下载安装JDK、ant依赖包

rpm -ivh ant-1.10.5-6.oe1.noarch.rpm jdk-8u281-linux-aarch64.rpm --force --nodeps

  • 配置java环境变量

vim /root/.bashrc
export JAVA_HOME=/usr/java/jdk1.8.0_281-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:JAVA_HOME/lib:$BENCHMARKSQLPATH/run/ojdbc7.jar
tail -3  /root/.bashrc

  • ant编译

在BenchmarkSQL所在目录下输入ant命令进行编译,编译成功后会生成build和dist两个目录
cd /opt/software/benchmarksql-5.0/ 
ant


  • 解压openGauss-2.0.0-JDBC.tar.gz

根据系统架构下载对应的JDBC驱动至BenchmarkSQL目录的lib/postgresql文件夹,并解压,删除自带的JDBC驱动。
cd /opt/software/benchmarksql-5.0/benchmarksql
ls
rm -f postgresql-9.3-1102.jdbc41.jar
tar -xf openGauss-2.0.0-JDBC.tar.gz
ls


  • 创建数据库及用户

数据库端准备,创建数据库tpcc_db及用户tpcc。
postgres=# create database tpcc_db;
postgres=#\c tpcc_db
tpcc=# CREATE USER tpcc_usr WITH PASSWORD "tpcc@123"; 
tpcc=# GRANT ALL ON schema public TO tpcc_usr; 
tpcc=# ALTER user tpcc_usr SYSADMIN; 

  • 编辑benchmarksql配置文件

客户端准备,进入BenchmarkSQL目录下的run文件夹,编辑benchmarksql配置文件,修改测试参数,包括数据库用户名、密码、IP、端口、数据库

vim props.mogdb
#根据要求进行修改
db=postgres
driver=org.opengauss.Driver
conn=jdbc:opengauss://192.168.80.14:26000/tpcc_db?prepareThreshold=1&batchMode=on&fetchsize=10&loggerLevel=off#修改连接字符串, 包含IP、端口号、数据库
user=tpcc_usr #用户名
password=tpcc@123 #密码
warehouses=100  #仓位数
terminals=300 #并发数
runMins=5  #运行时间
runTxnsPerTerminal=0
loadWorkers=100
limitTxnsPerMin=0
terminalWarehouseFixed=false
newOrderWeight=45
paymentWeight=43
orderStatusWeight=4
deliveryWeight=4
stockLevelWeight=4

  • 初始化数据

sh runDatabaseBuild.sh props.mogdb

  • 修改runBenchmark.sh文件

修改runBenchmark.sh文件中funcs.sh所在的实际路径
vim runBenchmark.sh
#!/usr/bin/env bash

if [ $# -ne 1 ] ; then
    echo "usage: $(basename $0) PROPS_FILE" >&2
    exit 2
fi

SEQ_FILE="./.jTPCC_run_seq.dat"
if [ ! -f "${SEQ_FILE}" ] ; then
    echo "0" > "${SEQ_FILE}"
fi
SEQ=$(expr $(cat "${SEQ_FILE}") + 1) || exit 1
echo "${SEQ}" > "${SEQ_FILE}"

source /opt/software/benchmarksql-5.0/benchmarksql/run/funcs.sh $1  #将此处路径修改为文件所在的实际路径

setCP || exit 1

myOPTS="-Dprop=$1 -DrunID=${SEQ}"

java -cp "$myCP" $myOPTS jTPCC

  • 测试
开始测试,运行tpcc跑分,tpmC部分即为测试结果,结果同时保存在 runLog_mmdd-hh24miss.log 下
调整props.mogdb,或者使用多个props文件,根据需要进行多次测试
sh runBenchmark.sh props.mogdb| tee runLog_`date +%m%d-%H%M%S`.log

















「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论