BenchmarkSQL是一个用于评估数据库性能的开源工具。它模拟TPC-C(Transaction Processing Performance Council)基准测试场景,该场景主要用于衡量数据库在处理大量并发事务时的能力。TPC-C测试场景模拟了一个典型的批发分销商的业务环境,包括新订单、支付、库存查询等操作。
openEuler版本:openEuler 22.03 (LTS-SP4)
安装依赖:
JDK,ANT,R语言
其中安装JDK不在此说明,网上很多教程
安装ANT步骤如下:
将ANT安装包上传至服务器,然后解压:
#tar -xvzf apache-ant-1.10.15-bin.tar.gz
设置环境变量:
编辑/etc/profile文件追以下内容:
export ANT_HOME=/opt/software/ant/apache-ant-1.10.15
export PATH=$PATH:$ANT_HOME/bin
执行:
#source /etc/profile
使环境变量设置生效
验证安装结果:
#ant -version

R语言安装步骤如下:
1.上传压缩包(R-4.4.2.tar.gz)到服务器
2.解压R-4.4.2.tar.gz:
#tar -xvf R-4.4.2.tar.gz
3.进入解压目录,进行编译安装(时间有点长,请耐心等待):
#./configure && make && make install

4.验证安装结果:
#R --version

安装编译R语言过程中可能会出现下面3个错误:
报错1:configure: error: --with-x=yes (default) and X11 headers/libs are not available
解决方法:yum -y install xorg-x11-server-devel libX11-devel libXt-devel
报错2:configure: error: "liblzma library and headers are required"
解决方法:yum install xz-devel.x86_64
报错3:configure: error: libcurl >= 7.28.0 library and headers are required with support for https
解决方法:yum install libcurl-devel
安装 BenchmarkSQL:
创建数据库和用户
create user benchmarksql with password 'Benchmark123';
create database benchmarksql owner benchmarksql;
给用户授予权限:有建表权限,创建索引权限等等,为了方便修改用户为管理员
alter user benchmarksql with SYSADMIN;
解压benchmarksql
上传benchmark压缩包到服务器,然后解压:
#unzip benchmarksql-5.0.zip
编译benchmarksql
进入benchmark解压目录:
执行命令:
#ant

创建配置文件
进入run目录
#cd run
#cp props.pg my_postgres.properties
修改配置文件
#vi my_postgres.properties
修改内容:
db=postgres
driver=org.postgresql.Driver
conn=jdbc:postgresql://localhost:15000/benchmarksql
user=benchmarksql
password=Benchmark123
osCollectorDevices=net_ens33 blk_sda
- 配置文件详解:
- db=postgres //数据库类型,postgres,mysql
- driver=org.postgresql.Driver //驱动,mysql8.0以上为com.mysql.cj.jdbc.Driver
- conn=jdbc:postgresql://localhost:5432/postgres //PG数据库连接字符串,正常情况下,需要更改localhost为对应PG服务IP、5432位对应PG服务端口、postgres为对应测试数据库名
- user=benchmarksql //数据库用户名,通常建议用默认,这就需要我们提前在数据库中建立benchmarksql用户
- password=PWbmsql //如上用户密码
- warehouses=1 //仓库数量,数量根据实际服务器内存配置,每个仓库 约 100MB,代表一个独立业务单元(TPC-C 标准)
- loadWorkers=4 //用于在数据库中初始化数据的加载进程数量,默认为4,实际使用过程中可以根据实际情况调整,加载速度会随worker数量的增加而有所提升
- terminals=1 //终端数,即并发客户端数量,通常设置为CPU线程总数的2~6倍
- runTxnsPerTerminal=10 //每个终端(terminal)运行的固定事务数量,例如:如果该值设置为10,意味着每个terminal运行10个事务,如果有32个终端,那整体运行320个事务后,测试结束。该参数配置为非0值时,下面的runMins参数必须设置为0

最低0.47元/天 解锁文章
2850

被折叠的 条评论
为什么被折叠?



