容量规划参考
本文档提供了一个综合的容量规划参考,旨在帮助用户根据特定环境中的实际需求进行有效的资源分配。实际的系统需求可能会受到工作负载特性、网络条件和服务器规格等多种因素的影响,因此我们推荐在特定的实际环境中进行性能测试,以获得更准确的配置数据。
提示
如您选择的是 Tapdata Cloud 产品,请参考实例规格说明。
名词定义
- 数据管道:一个数据管道可以将一个或多个表,从源库同步到目标库,在同步过程中还可以对数据进行转换和处理(如数据过滤),确保目标数据库接收到准确和优化的数据。
- RPS(每秒记录数):衡量数据传输速度和系统处理能力的指标,反映了每秒内系统处理的记录数。
管道资源需求
-
内存需求:
(每批读取量 * 8 + 10240 + 每批写入量 *(2 + 写入线程数))*(10 * 行大小 + 5KB)+ 日志缓冲 ≈ 1GB / 1KB 行大小提示每批的读取和写入量可在配置数据管道时,通过源和目标节点的基础参数中调整。
-
CPU 需求:不同业务负载场景下,对计算资源的需求有所不同,通用参考如下:
-
总线程数:
服务器核心数 * 2 -
每个数据管道所需平均线程数:1 ~ 8
-
每个数据管道所需 CPU 核心数:0.5 ~ 4
-
快速参考表
| 类别 | 业务负载 | 所需 CPU 核数 | 所需内存 | 每个 16 核服务器的管道数量 |
|---|---|---|---|---|
| 全量同步 | 高数据规模(表数据 > 1 TB) | 4 | 每 1KB 行大小需要 1 GB | 8 |
| 中小数据规模(表数据 < 1TB) | 2 | 16 | ||
| 增量复制 | 高吞吐量(RPS > 10,000) | 2 | 8 | |
| 中吞吐量(1,000 ~ 9,999 RPS ) | 1 | 16 | ||
| 低吞吐量(RPS < 1,000) | 0.5 | 32 |
高可用场景配置建议
在高可用(HA)部署场景中,通常需要部署至少两个 TapData 实例以保证故障转移和业务连续性。在故障转移过程中,一个实例的所有管道会自动转移到另一个实例继续运行。这种情况下,剩余实例将承担额外的负载,为避免负载过重,推荐按照服务器容量的 50% ~ 75% 容量来配置管道数量,以保留必要的性能缓冲。
例如,如果一个 16 核服务器配置运行 16 个管道,在启用 HA 时,应考虑同时运行 8 ~ 12 个管道,以确保系统稳定性和高可用性。
性能监控与调整
- 任务实时监控:通过任务监控页面,观察任务运行细节,例如全量/增量阶段的同步速率、延迟等信息。
- 集群指标监控:通过集群管理页面,观察集群内所有组件的运行状态和对外建立的连接数等信息,结合第三方性能监测工具跟踪集群的 CPU、内存、网络等资源使用情况
基于上述监控数据,动态调整管道配置和资源分配,确保系统在高负载情况下仍能保持稳定高效。