如何优化增补副本、副本搬迁速率?

在 OceanBase 数据库中可以通过设置一些配置项来优化增补副本、副本搬迁速率。

本文适用于以下场景的增补副本、副本搬迁速率优化:

  • 节点替换(故障替换)
  • 节点下线后重新上线(停机维护)
  • 节点上 Unit 分布不符合预期,手工迁移租户 Unit

配置方法

可以通过设置一些配置项来优化增补副本、副本搬迁速率。

  1. 设置数据拷贝并发数为 100。

  2. data_copy_concurrency

    用于设置系统中并发执行的数据迁移复制任务的最大并发数,默认为 20,取值范围为 [1,+∞)。

ALTER SYSTEM SET data_copy_concurrency = 100;

  1. 服务器上数据传出并发数为 10。

  2. server_data_copy_out_concurrency

    用于设置单个节点迁出数据的最大并发数,默认为 2,取值范围为 1 ~ 1000。

ALTER SYSTEM SET server_data_copy_out_concurrency = 10;

  1. 服务器上数据传入并发数为 10。

  2. server_data_copy_in_concurrency

    用于设置单个节点迁入数据的最大并发数,默认为 2,取值范围为 1 ~ 1000。

ALTER SYSTEM SET server_data_copy_in_concurrency = 10;

  1. 系统后端网络带宽占用调整为 90。

  2. sys_bkgd_net_percentage

    用于设置后台系统任务可占用网络带宽百分比,默认为 60,取值范围为 0 ~ 100。

ALTER SYSTEM SET sys_bkgd_net_percentage = 90

注意只有在当前集群负载低于 50% 时才可以调整

sys_bkgd_net_percentag

,否则请保持该参数默认值 60。

有关以上配置项的详细信息,请参见 《OceanBase 数据库 参考指南》中的 系统配置项 章节。

OceanBase 的负载均衡能力就是靠租户的分区副本在节点前迁移实现的。这个迁移的调优要结合机器和租户的CPU、机器的网卡流量使用率综合考虑。如果参数设置的过大,在 rootservice 事件日志表里会看到一些副本迁移报错。或者主机网卡流量到达瓶颈(1000Mb 网卡很容易到瓶颈,10000Mb 比较难,但也可能碰到)。