ArgoDB / TDH Inceptor

容量计算器

本地公式版
CPU 与队列
配置上限
查询量
任务规模
数据参与比例
计算复杂度
节点配置

Calculation Notes

计算公式说明

并发与查询量公式

队列 CPU 上限 = min(队列最大 CPU 核数, 集群总 CPU 核数 * 队列最大 CPU 百分比)
CPU 并发 = floor(队列 CPU 上限 / 单 SQL 平均占用 CPU)
配置并发 = min(单队列最大 SQL 数, 单连接最大 SQL 数, 单用户最大 SQL 数, 连接池上限)
推荐并发 = floor(min(CPU 并发, 配置并发, IO 并发) * 安全系数)
QPS = 推荐并发 / 平均 SQL 耗时秒
日查询量 = QPS * 86400 * 日运行利用率

磁盘 IO 默认不参与瓶颈计算。开启后,IO 并发取读吞吐和写吞吐两个上限中的较小值。

读 IO 并发 = floor(集群读吞吐 MB/s / 单 SQL 读 MB/s)
写 IO 并发 = floor(集群写吞吐 MB/s / 单 SQL 写 MB/s)
IO 并发 = min(读 IO 并发, 写 IO 并发)

批量任务资源公式

单 SQL 扫表 GB = 最大表 TB * TB 到 GB 换算 * 参与计算数据比例 * 参与字段比例
总扫表 GB = 单 SQL 扫表 GB * 大任务 SQL 数 * 平均扫表修正系数
解压后处理 GB =
  最大表 TB * TB 到 GB 换算 / 数据压缩率
  * 参与计算数据比例
  * 参与字段比例
  * 大任务 SQL 数
  * 平均扫表修正系数
  * 平均 Join 复杂度
  * Join 类型修正系数
需求 CPU = 总扫表 GB / 单核处理速度 / 期望完成时间
         + 解压后处理 GB / 单核处理速度 / 期望完成时间
最终 CPU = 需求 CPU * (1 + 资源调度损耗)
大任务节点数 = 最终 CPU / 单节点实际可用 CPU
最终节点范围 = floor(大任务节点数 + 小任务预留下限)
             到 ceil(大任务节点数 + 小任务预留上限)

默认参数用于复现 规则.xlsx 的口径:需求 CPU 约 2497.5,最终 CPU 约 2997,节点范围 57-59 台。

口径说明

  • 并发计算用于估算在线查询容量,优先识别 CPU、配置上限或磁盘 IO 哪个先成为瓶颈。
  • 批量资源计算用于估算一批大 SQL 在目标时间内完成所需的 CPU 和节点数量。
  • 安全系数和资源调度损耗是保守估算项,用来覆盖混合负载、调度、队列等待和资源争抢。