BenchmarkSQL高性能测试

在官网的blog文章中,详细介绍了如何tpcc测试、安装benchmarksql和安装数据库,请先阅读它:BenchmarkSQL性能测试

本次openGauss数据库部署采用TaiShan 200服务器(型号2280) :

  • CPU型号: 鲲鹏920 6426, 2P 128核

  • 内存数量: 32G * 24条

  • 网络:10GE带宽

  • 网卡:1822 SP580 25GE

  • 硬盘:nvme* 3个 容量:7.3T (HWE52P438T0L005N)

软件:

  • 操作系统 openEuler 20.03 (LTS)
  • 架构 aarch64
  • BIOS 关闭 Support Smmc,CPU Prefetching Configuration,Die Interleaving
  • 文件系统xfs的blocksize为8k
    • xfs_info $nvme挂载盘可查看bsize是否为8192,不是则需要重新格式化nvme盘
  • 修改网络中断绑核 (参考后面的步骤)
  • 安装numa
  • 安装htop

benchmarksql的测试环境推荐使用鲲鹏920 128核机器,对内存和硬盘无要求,不过它要与数据库在同一子网中,ping延时稳定在0.05ms以内

benchmarksql上需要安装bisheng JDK,并加入环境变量:JDK_8u292

有了硬件和操作系统优化后,数据库也要充分利用硬件资源才能达到最优性能,这些和数据库配置息息相关,即使在同样的机器上,配置不同也可能导致性能差异巨大。

1. 磁盘划分

磁盘IO通常都会成为整个数据库的瓶颈,openGauss采用wal预写式事务日志来顺序写磁盘以提升IO利用率,但是这还不够。在高性能场景下,为了最大化利用磁盘IO,我们将依赖较少的磁盘写入操作分配到不同的nvme盘,这可以使得磁盘可以并发使用,磁盘IO利用率大大提升。

在openGauss中,默认的数据都写入当前数据库安装路径(以下以$gauss_home替 代),我们可以把xlog和热点表编入不同的磁盘以提升磁盘IO利用率,在这里我们使用软链接实现,在磁盘划分时请正常退出openGauss再操作,gs_ctl stop -D $gauss_home

xlog映射的路径为$gauss_home\pg_xlog, 而热点表bmsql_customer和bmsql_stock通常放入表空间,对应的路径为$gauss_home\pg_location

注意:表空间使用相对路径tb/exampleX创建, 创表语法:create tablespace example2 relative location 'tb/example2':

最终磁盘映射情况及demo示例如下:

<
磁盘 映射路径 数据目录 软链接
/dev/nvme0n1 /usr1 $gauss_home=/usr1/peilq_dn/test_01 不涉及
/dev/nvme1n1 /usr2 /usr2/peilq_dn/test_01/pg_xlog $gauss_home/pg_xlog
/dev/nvme2n1 /usr3 /usr3/peilq_dn/test_01/pg_location/tb/example2 $gauss_home/pg_location/tb/exampe2
/dev/nvme2n1
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值