---
title: OceanBase 数据库主备库带宽估算-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 OceanBase 数据库主备库带宽估算相关的常见问题和使用技巧，帮助您快速解决 OceanBase 数据库主备库带宽估算的难题。
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# OceanBase 数据库主备库带宽估算

更新时间：2026-05-09 07:56

适用版本： V3.2.x、V3.1.x、V2.2.x 内容类型：TechNote  

主备库之间的带宽理论估算值，在进行跨机房主备库部署、跨城主备库部署时，可以根据该理论得出的估算值对带宽有个大致预测。作为理论参考值，在根据实际测试流量情况进行比较，两者进行对比可以得出一个相对精确的流量值。

主备库之间的流量主要可以分为基础流量和业务流量。

- 网络流量 = 基础流量 + 业务流量。
 - 网络带宽 = （基础带宽 + 业务带宽）/网络保护率。

其中，网络保护率一般取 80%，表示使用 80% 的网络带宽来获得稳定的网络性能。

## 适用版本

OceanBase 数据库 V2.x、V3.x 版本。

## 基础流量

基础流量主要是用于主备库之间的心跳包、选举包等操作，即使在业务没有写入的情况下也需要的网络流量。

计算公式为：

基础流量 = 集群分区数 keepalive 包大小每个分区每秒钟发的 keepalive 包的个数 * 8bit / 压缩比。

- 集群分区数代表该集群里单 zone 下的分区总数。
 - keepalive 包大小为 24B，其中包头会进行聚合，加上包头一起看的话一个 keepalive 包可以按照（24B-28B）的区间值进行估算。
 - 每个分区每秒钟发送的包的个数为 1000/weak_read_version_refresh_interval（弱一致性读版本号的刷新周期，默认 50ms）。
 - 压缩比是在开启 clog 传输压缩情况下（clog_transport_compress_all=true），由于 keepalive 包也属于 clog 大类，也会进行压缩，压缩比并不是一个固定的值，可以通过查看内部表 `gv$sysstat` 得出。压缩比计算方式是使用该内部表中 name 列 rpc compress original size/rpc compress compressed size 取两个时间点的 value 值，然后用增量相除。压缩比 =（rpc compress original size@t2-rpc compress original size@t1）/（rpc compress compressed size@t2-rpc compress compressed size@t1）。
 - 压缩比 =（rpc compress original size@t2-rpc compress original size@t1）/（rpc compress compressed size@t2-rpc compress compressed size@t1）。 ​ 例如：集群 12000 分区，`weak_read_version_refresh_interval` 采用默认的 50ms，压缩比为 1.3，则计算结果为：12000（24B～28B）1000/50/1.38/1024/1024=34Mbps～39Mbps。

## 业务流量

业务流量则是根据业务产生的 clog 日志量。

业务流量 = 峰值 TPS 交易更新数据总大小日志写入放大倍数 * 8bit /压缩比

- 默认情况下，clog 落盘不做压缩，clog 传输使用压缩，压缩比例取 2:1。
 - 日志写入放大倍数：交易的 clog 日志量与交易的数据更新量的比值，通常在 2~10 之间，经验值为 4。

例如，业务场景为：

- 峰值 TPS：10K
 - 平均单交易更新数据量（每次交易或更新操作所涉及的数据量大小的平均值）：4K
 - 日志写放大倍数：4
 - 日志压缩比例：2 ​ 则，计算结果为：业务流量 = 10K * 4K * 4 * 8 / 2 = 640 Mbps。

## 更多信息

备库与主库的同步是通过备库的 leader 副本去从主库拉取 clog 或数据来进行。在最大性能部署模式下，备库会优先去同 region 的主库副本上拉取；如果没有这样的副本，则去主库的 leader 副本上拉取。对于备库的任一租户，其只能从主库的一个 Zone 进行同步。 ​ 可以在备集群中使用以下 SQL 来查询备库与主库进行同步的数据源头来自哪里。

```shell
select parent,count(*) from __all_virtual_clog_stat where role='standby_leader' group by parent;

```

其中 parent 表示上游节点。

上一篇

[主备库手工解耦操作](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000514279)

下一篇

[主备集群间带宽使用达到 100%](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000208205) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
