OLTP-BenchBase 新手笔记
一、OLTP-Bench
它是一个DBMS SQL基准测试框架,在2013年发表于PVLDB. 之前是叫做OLTP-Bench,后来经过不断的更新拓展成为现在的benchbase
建立BenchBase的操作,就按照README中的Quick Start来操作即可.
需要注意的是jdk的版本问题,最好用openjdk17安装jdk的博客参考这篇
# 更新软件源
sudo apt update
# 查找openjdk,找到自己想要的版本
sudo apt search openjdk
# 安装openjdk
sudo apt install openjdk-17-jdk
1. 构建BenchBase
git clone --depth 1 https://github.com/cmu-db/benchbase.git
cd benchbase
./mvnw clean package -P mysql
在这里编译会报错:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
参考博客的解决方法,在pom.xml加入下面配置:
.....
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.2</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin> </plugins>
</build>.....
2. 进入target文件夹
cd target
tar xvzf benchbase-mysql.tgz
cd benchbase-mysql
3. 在benchbase-x-y-z文件夹中,可以跑tpc-c等基准测试
(跑测试之前要配置对应的MySQL或者postgreSQL,见第二部分)
注意一定要创建一个标准数据库,叫benchbase!!!
二、配置MySQL和PostgreSQL
此时,我们想要跑基准测试,还需要配置虚拟机中的MySQL
1. MySQL的安装
[参考博客]
(https://blog.csdn.net/u011726005/article/details/106963535/)
在benchbase-x-y-z文件夹下,有config文件夹,里面是不同数据库的参数配置文件。
以mysql文件夹里的sample_tpcc_config.xml为例,看到首先需要创建个名为benchbase的数据库,然后用户名为admin,密码为password.
# 登录mysql
sudo mysql -u root -p
# 建立数据库
create database benchbase;
# 创建用户并授权
create user 'admin'@'%' identified by 'password';
grant all privileges on *.* to 'admin';
# 一定要刷新权限
FLUSH PRIVILEGES;
2. PostgreSQL及可视化界面的安装
(1)pgsql
与MySQL安装类似,同样需要创建个名为benchbase的数据库,然后用户名为admin,密码为password.
Ubuntu中使用PgAdmin4参考Stack Overflow的回答,在pgadmin中有图形化的窗口,直接可以看到事务执行的状态
# 启动psql
sudo systemctl start postgresql
# 查看状态
sudo systemctl status postgresql
# 切换用户
sudo su - postgres
psql benchbase
(2) pgadmin4连接远程数据库
这里的主要操作包括:配置ssh、修改pg_hba.conf等配置文件和最终根据端口以及密码等连接数据库
参考博文1
参考博文2
三、远程访问数据库
通过上一步配置好的ssh访问远程主机,有两种方式:一种是代码中的私钥公钥,或者直接用主机用户名和密码的方式访问
虚拟机的ip地址用如下命令查看:
ifconfig // 注意这里是ifconfig不是ipconfig
安装openssh-server
sudo apt-get install openssh-server
service ssh restart
默认22号端口是关闭的,记得打开
sudo apt-get install ufw
sudo ufw enable
sudo ufw allow 22