0


Benchmarksql压测数据库


title: Benchmarksql压测数据库
date: 2022-05-10
tags:

  • Benchmarksql

1 工具介绍

BenchmarkSQL是开源数据库测试工具,内嵌了TPCC测试脚本,可以对Oracle、PostgreSQL、SQL Server直接进行测试,在BenchmarkSQL 5.0版本。

2 环境介绍

操作系统:CentOS Linux release 7.6.1810 (Core)

Postgresql:11.5

安装R语言环境

Python环境使用Linux自带的Python2.7即可,版本过高可能会出问题。

JDK1.8

[root@192-118-0-195 ~]# java -version
openjdk version "1.8.0_322"
OpenJDK Runtime Environment (build 1.8.0_322-b06)
OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)

3 部署环境

3.1 部署jdk

3.1.1 下载jdk压缩包

直接从Oracle官网下载jdk

https://www.oracle.com/java/technologies/javase-jdk8-downloads.html

3.1.2 jdk上传到服务器并解压

CentOS安装jdk

3.1.3 在.bash_profile文件中配置jdk环境变量

环境变量的配置根据具体的安装目录按照教程来

3.2 安装ant编译工具

这里使用CentOS自带的yum工具安装,如果你的yum工具没有配置国内源请看这篇文章

yum install ant

3.3 安装R语言环境

安装R语言环境

3.4 下载并编译Benchmarksql5.0

3.4.1 下载B enchmarksql5.0压缩包

https://sourceforge.net/projects/benchmarksql/

3.4.2 上传压缩包并解压

我这里测试的是postgresql所以我先把用户切换成postgres用户

# 切换成postgres用户su postgres

# 解压benchmarksql-5.0.tartar -zxvf benchmarksql-5.0.tar

4 配置benchmarksql

4.1 修改配置文件

配置文件位于

.../benchmarksql/run/props.pg

编辑配置文件

vim.../benchmarksql/run/props.pg

以下为配置文件内容

除了中文注释的内容必须修改,其余内容根据当时的要求自行设定

# 数据库名称db=postgres
# 数据库驱动driver=org.postgresql.Driver
# 修改成相应的数据库conn=jdbc:postgresql://192.168.10.16:3452/benchmarksql 

# 数据库用户名user=tbase  <<< DB用户名

# 数据库密码password=****  <<< DB用户密码

warehouses=200#warehouses=1000loadWorkers=60terminals=50

//To run specified transactions per terminal- runMins must equal zero

runTxnsPerTerminal=0# 测试时间,单位为分钟。注意:该值设置之后,runTxnsPerTerminal参数必须为0.这两个参数同时只能一个生效runMins=30

//Number of total transactions per minute

limitTxnsPerMin=0

//Set to true to run in4.x compatible mode. Set to false to use the

//entire configured database evenly.

terminalWarehouseFixed=true

//To run for specified mitbaseult percentages of 45, 43, 4, 4&4 match the TPC-C spec

newOrderWeight=45paymentWeight=43orderStatusWeight=4deliveryWeight=4stockLevelWeight=4

// Directory name to create for collecting detailed result data.

// Comment this out to suppress.

//resultDirectory=my_result_%tY-%tm-%td_%tH%tM%tS

//osCollectorScript=./misc/os_collector_linux.py 

//osCollectorInterval=1

//osCollectorSSHAddr=ssh_user@target_dbhost

//osCollectorDevices=net_eth0 blk_sda

5 导入数据并测试

5.1 创建测试数据库

# 命令行进入postgres数据库
psql -U postgres

# 在postgres交互式命令行中创建benchmarksql数据库
create database benchmarksql;

5.2 执行建表脚本

# 进入脚本执行目录:/benchmarksql/runcd.../benchmarksql/run

# 执行建表脚本(脚本的执行时间与仓库数量有关)
./runDatabaseBuild.sh props.pg

5.3 执行benchmarksql测试脚本

# 脚本成功执行完成会在benchmarksql/run/下生成的“my_result”开头的文件夹
./runBenchmark.sh props.pg

5.4 执行删除数据库测试数据脚本

./runDatabaseDestroy.sh props.pg

5.5 执行结果可视化生成脚本生成html文档

注意脚本后的参数是你的benchmarksql/run/下生成的

my_result

开头的文件夹,请换成你对应的文件夹名称,否则会报错

执行该脚本需要R语言环境支持。

./generateReport.sh my_result_**********

本文转载自: https://blog.csdn.net/weixin_44586845/article/details/125008461
版权归原作者 aaaaaaa万万 所有, 如有侵权,请联系我们删除。

“Benchmarksql压测数据库”的评论:

还没有评论