性能

计算 EC 管道限制

师成师成· 更新于 2026-09-28· 阅读 2 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

SCM 旨在维护的目标开放 EC 管道数量,会针对每种 EC 纠删码配置(例如 RS-6-3、RS-3-2)动态计算。该计算基于以下两个属性,最终目标取两者计算结果中的较大值。

  • ozone.scm.ec.pipeline.minimum

    • 说明:无论其他因素如何,为每种 EC 配置保证维护的最小开放管道数量。
    • 默认值:5
  • ozone.scm.ec.pipeline.per.volume.factor

    • 说明:一个用于根据集群中所有数据节点的健康卷总数计算管道目标数量的因子。
    • 默认值:1.0

计算逻辑

SCM 首先使用以下公式计算基于卷的目标值:(<pipeline.per.volume.factor> * <健康卷总数>) / <该 EC 配置所需节点数>

然后通过以下方式确定最终的管道目标数量:max(<基于卷的目标值>, <pipeline.minimum>)

示例

假设一个集群中所有数据节点共有 200 个健康卷,且 EC 策略为 RS-6-3(需要 9 个节点)。

  • ozone.scm.ec.pipeline.minimum = 5(默认值)
  • ozone.scm.ec.pipeline.per.volume.factor = 1.0(默认值)
  1. 基于卷的目标值为:(1.0 * 200) / 9 = 22
  2. 最终目标值为:max(22, 5) = 22

SCM 将尝试创建并维护大约 22 个开放的 RS-6-3 EC 管道。

默认值是大多数集群的良好起点。如果你的卷数量非常多,且写入密集型的 EC 工作负载较重,可以考虑适当提高 pipeline.per.volume.factor。反之,对于读取密集型工作负载,默认的 5 条管道最小值通常已经足够。

评论

登录后参与评论

正在加载评论…