使用BenchmarkSQL压测openGauss

使用 BenchmarkSQL 压测 openGauss

安装配置 JDK

  1. 官方网站下载 JDK:Java Downloads | Oracle

  2. 配置 JDK 环境解压到 JDK 到指定路径。

    复制代码
    # 解压到JDK到指定路径
    tar -xvf jdk-8u231-linux-x64.tar.gz -C /usr/local
    # 配置系统环境变量
    /etc/profile末尾添加内容如下:
    export JAVA_HOME=/usr/local/jdk1.8.0_231
    export CLASSPATH=$JAVA_HOME/lib/
    export PATH=$PATH:$JAVA_HOME/bin
    # 配置成功测试
    source /etc/profile
    java -version

安装配置 R 语言环境

  1. 下载 R。

    复制代码
    wget http://lib.stat.cmu.edu/R/CRAN/src/base/R-3/R-3.0.0.tar.gz
  2. 编译安装 R。

    复制代码
    a、解压到R到指定路径
    tar -xvf R-3.0.0.tar.gz /opt/software/R
    编译安装R
    cd /opt/software/R
    ./configure --prefix=/usr/R --with-pcre1
    b、配置系统环境变量
    /etc/profile末尾添加内容如下:
    export R_HOME=/usr/R/
    export PATH=$PATH:$R_HOME/bin
    c、配置成功测试
    source /etc/profile
    R -version

    说明:

    编译 R 语言之前需要安装 gcc,gcc-gfortran,libXt-devel 等包,yum 安装需要配置如下 yum 源:否者会导致依赖缺失。内网无 yum 环境建议使用源码安装,需要安装的依赖包较少。

安装 ant

  1. 官方网站下载 Ant 工程:

    Apache Ant - Welcome

  2. 配置安装解压 Ant 到指定路径。

    复制代码
    tar -xvf apache-ant-1.10.7-bin.tar.gz -C /usr/local/ant
  3. 配置环境变量与 JDK 配置方式相同,/etc/profile 末尾添加内容如下:

    复制代码
    export ANT_HOME=/usr/local/ant
    export PATH=$PATH:$ANT_HOME/bin
  4. 配置测试。

    复制代码
    source /etc/profile
    ant -version

配置使用 BenchmarkSQL

  1. 下载官方工程(当前最新版本为 5.0):

    BenchmarkSQL download | SourceForge.net

  2. 解压到合适的目录。

    复制代码
    unzip benchmarksql-5.0.zip
  3. 使用 Ant 进行工程编译。

    复制代码
    cd benchmarksql-5.0/ //进入benchmarksql根目录
    ant //执行ant命令,ant工具通过根目录下build.xml文件对源码进行编译并打包到/dist目录下
  4. 配置 BenchmarkSQL。

    复制代码
    a、配置props文件
    进入run目录,会看到多个不同后缀名的props文件,不同的文件配置不同的数据库,由于我们需要压测postgresql和openGauss,openGauss兼容postgresql,需要配置props.pg文件。cp props.pg props.opengauss在配置文件中需要修改的包括conn,user, password(这三项用于连接指定的数据库,因此需要提前在postgresql中创建好对应的DB以及用户) 。配置项具体如下:
    db=postgres
    driver=org.postgresql.Driver
    conn=jdbc:postgresql://***.***.***.***55:5432/tpcc
    user=
    password= //以上为数据库连接信息
    warehouses=100 //数据仓库数量,每个仓库大概为100M,数据量50W。压测并发数量最多为该值的10倍,需要提前规划好
    loadWorkers=8 //导入数据时,同时导入数据的进程数量
    terminals=1000 //并发数,不超过造数时warehouses值的10倍
    runMins=3 //压测时间,分钟为单位
    terminalWarehouseFixed=true //指定每个终端是否绑定固定数仓,值为布尔型
    resultDirectory=my_result_%tY-%tm-%td_%tH%tM%tS //报告路径格式
    b、在opengauss社区下载与openGauss实例版本相匹配的的官方驱动,放入benchmarksql/lib/postgres目录下,替换postgresql的驱动,使用官方驱动适配性更好,表现更好。
  5. 运行测试。

    复制代码
    cd run //进入run目录
    ./runDatabaseBuild.sh props.opengauss //进行测试库创建,数据导入
    ./runBenchmark.sh props.opengauss //执行配置好的测试
    ./runDatabaseDestroy.sh props.opengauss //清理数据
  6. 生成报告。

    测试结束后,run 目录下会生成一个新目录,它的命名格式为 my_result_%tY-%tm-%td_%tH%tM%tS。

    使用 generateReport.sh 脚本创建具有图形的 HTML 文件:./generateReport.sh my_result_2020-11-02_221047 随后会在 my_result_* 目录下生成一个 html 文件和数张图片,下载到本地,在浏览器中打开 report.html,可以看到 tpmc 的曲线和系统硬件监控信息。

相关推荐
城管不管18 小时前
重生——第十一次面试之挖财一面2026.8.19已OC
java·服务器·jvm·数据库·spring·面试·职场和发展
倔强的石头10618 小时前
向量数据库从相似度检索走向融合数据底座
数据库
今天AI了吗19 小时前
Python 基础语法(一):常量、变量、输入输出与运算符
开发语言·数据库·人工智能·python·sql·深度学习·机器学习
lilian23321 小时前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos
皮卡丘不断更21 小时前
手机优先的 Personal Ledger:把账目、学习和复盘放到同一个入口
数据库·sqlite·fastapi·开源项目·个人效率
保卫大狮兄1 天前
设备管理从台账到报废,完整生命周期一次讲清
数据库·设备管理·设备
数据安全技术观察1 天前
数据动态脱敏:让脱敏策略跟着数据目录走
大数据·网络·数据库
小席是个热心肠1 天前
Redis的自我学习
数据库·redis·学习
2601_965798471 天前
Salient Theme Setup Guide for Fast Creative WordPress Sites
数据库·web3·php·wordpress
@Mike@1 天前
09-数据库学习笔记(数据库索引与过滤器)
数据库·笔记