searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

基于共享块存储的ORACLE RAC性能调优

2023-06-20 10:12:21
153
0

一、目的

使用iSCSI共享块存储(NVMe SSD)搭建Oracle RAC集群,进行性能测试,并对块存储网关进行性能调优,得出测试结果。

二、测试环境

  1. 测试的Oracle RAC集群拓扑图
 

客户端*1、RAC服务节点*2、iscsi tgt节点*1

  • TPC-C测试工具

BenchmarkSQL:5.0

三、测试过程

1. Oracle RAC集群配置信息:

节点名称

存储设备

网卡IP配置

RAC Instance01

Oracle集群两个节点共享存储方式为ASM,ASM磁盘组通过ISCSI方式挂载,共8块盘,包括:

(1)OCR磁盘组:10G * 3

(2)DATA磁盘组:500G * 3

(3)FRA磁盘组:500G * 2

Oracle集群每个节点配置2张网卡eth0和eth1,其中eth0上配置了public IP,eth1上配置了private IP。部署集群时每个节点再分配好1个VIP,整个集群分配1个scan IP,且都在eth0网卡上。这里测试时集群的scan IP分配在了RAC Instance01节点上。

RAC Instance02

2. 测试准备

在oracle rac集群上创建测试用户ractester,并给该用户分配了300G表空间进行测试。在oracle客户端使用Benchmarksql工具配置用Scan IP登陆Oracle数据库集群,进行TPC-C测试。修改Benchmarksql工具测试配置文件props.ora:warehouses=1000, loadWorkers=100, newOrderWeight、paymentWeight、orderStatusWeight、deliveryWeight、stockLevelWeight分别设置为45、43、4、4、4。

3. 测试流程

  • 预埋数据

./runDatabaseBuild.sh props.ora

  • 进行压测

修改配置文件props.ora中的terminals参数,然后运行Benchmarksql脚本。这里依次遍历10、20、50、100、150、200、250。

./runBenchmark.sh props.ora

  • 清除数据

./runDatabaseDestroy.sh props.ora

然后对测试模型进行以下优化:

  • 优化1:每个DATA磁盘分别使用不同的target,并且修改R2T参数,多核启动target进程,并为各线程绑定不同核。
  • 优化2:在优化1的基础上,在iSCSI客户端将每个DATA磁盘的session数量增加至4个。

四、测试结果

1. 优化前测试性能

  • TPC-C测试结果

1)各订单时延图:

2)tpmC(NEW_ORDER only)和tpmTotal曲线图:

2. Target、iSCSI参数优化和线程模型优化测试结果

(1)TPC-C测试结果

1)各订单时延图:

2)tpmC(NEW_ORDER only)和tpmTotal曲线图:

 

3. 客户端增加session测试结果

  • TPC-C测试结果

1)各订单时延图:

2)tpmC(NEW_ORDER only)和tpmTotal曲线图:

4. tmpC和tmpTotal曲线汇总图

(1)tmpC曲线对比:

  • tmpTotal曲线对比

五、总结

本文使用iscsi tgt网关创建块存储磁盘,挂载到两台主机供Oracle RAC实例使用,并测试数据库的的性能。然后根据测试结果对iscsi tgt网关进行了相关优化:

(1)每个DATA磁盘分别使用不同的target,并且修改R2T参数,多核启动target进程,并为各线程绑定不同核。

(2)在(1)的基础上,在iSCSI客户端将每个DATA磁盘的session数量增加至4个。

根据优化后的测试结果对比,可以发现,在iscsi tgt侧将多块磁盘分配到不同的核上以及在客户端侧增加挂载磁盘的session数量,可以使块存储的性能有较大幅度的提升,优化效果比较明显。

0条评论
作者已关闭评论
Mr. 油
89文章数
0粉丝数
Mr. 油
89 文章 | 0 粉丝
原创

基于共享块存储的ORACLE RAC性能调优

2023-06-20 10:12:21
153
0

一、目的

使用iSCSI共享块存储(NVMe SSD)搭建Oracle RAC集群,进行性能测试,并对块存储网关进行性能调优,得出测试结果。

二、测试环境

  1. 测试的Oracle RAC集群拓扑图
 

客户端*1、RAC服务节点*2、iscsi tgt节点*1

  • TPC-C测试工具

BenchmarkSQL:5.0

三、测试过程

1. Oracle RAC集群配置信息:

节点名称

存储设备

网卡IP配置

RAC Instance01

Oracle集群两个节点共享存储方式为ASM,ASM磁盘组通过ISCSI方式挂载,共8块盘,包括:

(1)OCR磁盘组:10G * 3

(2)DATA磁盘组:500G * 3

(3)FRA磁盘组:500G * 2

Oracle集群每个节点配置2张网卡eth0和eth1,其中eth0上配置了public IP,eth1上配置了private IP。部署集群时每个节点再分配好1个VIP,整个集群分配1个scan IP,且都在eth0网卡上。这里测试时集群的scan IP分配在了RAC Instance01节点上。

RAC Instance02

2. 测试准备

在oracle rac集群上创建测试用户ractester,并给该用户分配了300G表空间进行测试。在oracle客户端使用Benchmarksql工具配置用Scan IP登陆Oracle数据库集群,进行TPC-C测试。修改Benchmarksql工具测试配置文件props.ora:warehouses=1000, loadWorkers=100, newOrderWeight、paymentWeight、orderStatusWeight、deliveryWeight、stockLevelWeight分别设置为45、43、4、4、4。

3. 测试流程

  • 预埋数据

./runDatabaseBuild.sh props.ora

  • 进行压测

修改配置文件props.ora中的terminals参数,然后运行Benchmarksql脚本。这里依次遍历10、20、50、100、150、200、250。

./runBenchmark.sh props.ora

  • 清除数据

./runDatabaseDestroy.sh props.ora

然后对测试模型进行以下优化:

  • 优化1:每个DATA磁盘分别使用不同的target,并且修改R2T参数,多核启动target进程,并为各线程绑定不同核。
  • 优化2:在优化1的基础上,在iSCSI客户端将每个DATA磁盘的session数量增加至4个。

四、测试结果

1. 优化前测试性能

  • TPC-C测试结果

1)各订单时延图:

2)tpmC(NEW_ORDER only)和tpmTotal曲线图:

2. Target、iSCSI参数优化和线程模型优化测试结果

(1)TPC-C测试结果

1)各订单时延图:

2)tpmC(NEW_ORDER only)和tpmTotal曲线图:

 

3. 客户端增加session测试结果

  • TPC-C测试结果

1)各订单时延图:

2)tpmC(NEW_ORDER only)和tpmTotal曲线图:

4. tmpC和tmpTotal曲线汇总图

(1)tmpC曲线对比:

  • tmpTotal曲线对比

五、总结

本文使用iscsi tgt网关创建块存储磁盘,挂载到两台主机供Oracle RAC实例使用,并测试数据库的的性能。然后根据测试结果对iscsi tgt网关进行了相关优化:

(1)每个DATA磁盘分别使用不同的target,并且修改R2T参数,多核启动target进程,并为各线程绑定不同核。

(2)在(1)的基础上,在iSCSI客户端将每个DATA磁盘的session数量增加至4个。

根据优化后的测试结果对比,可以发现,在iscsi tgt侧将多块磁盘分配到不同的核上以及在客户端侧增加挂载磁盘的session数量,可以使块存储的性能有较大幅度的提升,优化效果比较明显。

文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
1
1