如何计算 Cloud SQL CUD 的盈亏平衡点?
解读
在国内面试场景里,这道题表面问“算术”,实则考察三层能力:
- 对 Cloud SQL 计费模型 的颗粒度理解,包括 按秒计费、阶梯单价、区域差价、人民币目录价;
- 对 承诺使用折扣(CUD)规则 的掌握,尤其是 1 年 37% 折扣、3 年 55% 折扣、跨项目共享、不可退款、按小时承诺量抵扣 等硬性条款;
- 把业务波动翻译成数学模型的能力,即如何把 峰值、谷值、业务增长曲线 折合成“等效 vCPU小时”与“等效内存小时”,再与 CUD 覆盖阈值比较。
面试官希望听到你给出 可落地的公式 + 可复现的 Excel 思路 + 风险边界假设,而不是背官网数字。
知识点
-
国内目录价(北京/上海区域,2024Q2 版)
- MySQL 高可用版:vCPU ¥0.45/小时,内存 ¥0.06/小时,标准存储 ¥0.17/GB/月
- CUD 折扣基数:1 年 37%,3 年 55%,均以 vCPU+内存 合并承诺量 为抵扣单位,存储不计入 CUD
-
承诺量计算口径
每小时实际消耗量 = max(实例 vCPU 数, 内存 GB/6) 的 等效 vCPU 小时;Google 按小时粒度把内存折算成 vCPU 再与真实 vCPU 取大者,作为抵扣对象 -
盈亏平衡点公式
设:- A = 按量单价(vCPU ¥0.45 + 内存 ¥0.06*实例内存 GB)
- B = CUD 单价 = A * (1 – 折扣率)
- X = 一年内实际运行的小时数(0~8760)
- 承诺量 = 实例等效 vCPU * 8760
则:
盈亏平衡小时数 X = 承诺量 * B / A*
当 X ≥ X* 时,CUD 开始省钱;反之亏损
-
国内常见陷阱
- 多项目共享 CUD 时,结算账号必须在同一国内账单账户,否则抵扣失败
- 存储、备份、出网流量 永远按量计费,不能算进 CUD 覆盖
- 若实例规格随业务高峰动态扩容,需用 等效 vCPU 小时积分法 做月度回溯,再与承诺量对齐
答案
给面试官一个 3 步落地法:
步骤 1:把过去 30 天 Cloud Monitoring 里的 instance/cpu/reserved_cores 与 instance/memory/utilization 导出,按小时求 max(vCPU, memoryGB/6),得到“等效 vCPU 小时”序列,记为 E(i)
步骤 2:计算年度化等效量 E_total = ΣE(i) * 365/30;若业务呈环比 10% 增长,再乘 1.1 增长系数
步骤 3:带入公式
X = E_total * (1 – 折扣率)*
若 E_total ≥ X*,则 CUD 划算;否则继续按量。
以 4 vCPU、16 GB 实例为例:
- 等效 vCPU = max(4, 16/6) = 4
- 按量年费 = 4 * (0.45 + 0.06*16) * 8760 = ¥63,525
- 1 年 CUD 承诺价 = 4 * (0.45 + 0.96) * 8760 * 0.63 = ¥39,961
- 盈亏平衡小时数 X* = 4 * 8760 * 0.63 = 22,075 等效 vCPU 小时
只要全年实际跑满 ≥22,075 等效 vCPU 小时(即 100% 开机率),就回本;若因业务收缩只跑 60% 时间,则亏损 ¥15,000+
拓展思考
- 混合策略:对 7*24 核心库买 3 年 55% CUD,对临时测试库保持按量,通过 标签+Terraform 自动区分,可把整体成本再降 18%
- 人民币汇率波动:国内账单以 CNY 实时汇率 结算,若人民币贬值 5%,CUD 锁价优势被部分稀释,需在 NPV 模型里加 2~3% 汇率风险溢价
- Serverless v2 冲击:Google 已内测 Cloud SQL Serverless v2(按请求秒级计费),若未来 18 个月 GA,低频业务盈亏平衡点将左移,届时需重算;面试时可主动提及此技术雷达,体现 前瞻性成本治理意识