首批通过分布式安全可靠测评,为关键业务系统打造
设置日志同步限速
更新时间:2026-06-20 18:12:54
备库与主库之间的带宽在某些业务场景中(例如,跨 Region 容灾场景)是一种稀缺资源,需要合理使用并进行适当限速。
OceanBase 数据库提供了以下两个集群级配置项用于备库的限速:
standby_fetch_log_bandwidth_limit:用于设置备租户所在集群中,可用于备租户从主租户或源端租户进行日志同步的所有带宽的总和。该配置项的取值范围为 [0, 10000G],默认值为0,表示不对带宽进行限制。该配置项修改后立即生效。修改配置项
standby_fetch_log_bandwidth_limit的值后,OceanBase 数据库内部会使用一套自适应的分配策略,在集群的多个 OBServer 节点之间再分配单个节点可用的合适的带宽上限值,以便达到带宽资源的利用率最大化。_server_standby_fetch_log_bandwidth_limit:用于设置备租户所在集群的单个 OBServer 节点中,可用于备租户从主租户或源端租户进行日志同步的带宽。该配置项的取值范围为 [0, 1000G],默认值为0,表示不按照 Server 级进行限速,使用基于配置项standby_fetch_log_ratelimit分配得到的带宽。该配置项修改后立即生效。修改配置项
_server_standby_fetch_log_bandwidth_limit的值后,设置了限速的 OBServer 节点将会优先使用此限速值,同时standby_fetch_log_bandwidth_limit所配置的限速值将分配给其余的 OBServer 节点使用,即如果同时设置了配置项standby_fetch_log_bandwidth_limit和_server_standby_fetch_log_bandwidth_limit,则集群可使用的总带宽值为两者之和。
注意事项
不建议将备租户的带宽限速值设置得特别小,生产环境下需要评估设置限速可能带来的业务影响,例如,备库限速可能会导致备库持续落后、日志断流等。
在 OceanBase 数据库中,名称以 "_" 开头的配置项称为隐藏配置项,仅供开发人员在故障排查或紧急运维时使用。
设置方法
使用
root用户登录备租户所在集群的sys租户。执行以下命令,设置备租户的限速值。
设置集群的总可用带宽
ALTER SYSTEM [SET] standby_fetch_log_bandwidth_limit = value;示例如下:
obclient(root@sys)[(none)]> ALTER SYSTEM SET standby_fetch_log_bandwidth_limit = '50M';设置单个 OBServer 节点的可用带宽
ALTER SYSTEM [SET] _server_standby_fetch_log_bandwidth_limit = value SERVER [=] 'svr_ip:svr_port';语句使用说明:
svr_ip:待设置的 OBServer 节点的 IP。svr_port:待设置的 OBServer 节点的 RPC 端口号。- 仅支持指定一个 OBServer 节点。
示例如下:
obclient(root@sys)[(none)]> ALTER SYSTEM SET _server_standby_fetch_log_bandwidth_limit = '30M' SERVER = 'xx.xx.xx.xx:17854';