首页/AI/大模型部署与运维速查/容量规划:从业务指标到卡数

容量规划:从业务指标到卡数

容量规划链条:业务 QPS 与长度画像 → 换算总 token 吞吐 → 用单实例实测吞吐折算 → 得实例数与卡数 → 叠加冗余与峰谷系数。

容量规划是什么

容量规划是一条换算链:业务 QPS 与长度画像换算成总 token 吞吐,除以单实例实测吞吐得到实例数与卡数,最后叠加冗余与峰谷系数。整条链条成立的前提是口径统一——网关、引擎与压测报告都用同一种 token 计量方式,否则中间任何一步都算不通。它输出的不是「买几张卡」的直觉,而是一组可复核的数字。

基本信息

输入业务 QPS、输入与输出长度分布、延迟目标
单实例能力本地实测吞吐,必须与生产同模型同参数
冗余N+1 或按百分比预留,用于故障与滚动升级
峰谷系数按业务日内波动峰值设置,而不是平均值
复算触发模型、硬件、量化档位或调度参数一变就重算

典型使用场景

  • 新业务上线前申请资源:用链条算出实例数,而不是按经验拍数字
  • 扩容决策:等待请求数持续上涨时,判断该加实例还是该调整窗口
  • 成本核算:把「每百万 token 成本」作为统一口径做横向比较
  • SLO 反推:给定 TTFT 与 TPOT 目标,反推单实例可承载的并发上限
  • 验收回填:上线后按实际观测吞吐修正模型,为下一轮扩容提供依据

换算示例(示意)

换算示例(示意)
需求:10 req/s × (输入 1K + 输出 0.3K)
   ≈ 13K tokens/s(总口径,全链路统一)
单实例实测:约 5K tokens/s(同口径、同长度分布)
   → 至少 3 实例
   → 再加冗余与峰谷系数后取整

关键:网关、引擎指标与压测报告必须用同一个口径

链条的五步

步骤做什么产出
业务画像统计 QPS 与长度分布总 token 需求
折算能力单实例实测同口径吞吐每实例承载量
算实例数需求除以承载量基础实例数
加冗余叠加故障与峰谷系数部署实例数
回填修正上线后按实际吞吐校准下轮规划基线
口径建议固定为「输出 tokens/s」或「总 tokens/s」其中之一,并写进压测脚本与监控看板:口径漂移是容量算错最常见的原因。
单实例实测必须与生产同构:同模型 revision、同量化档位、同长度分布、同并发策略。任何一项不同,折算出的实例数都会失准。

易错点

  • 按均值规划不带峰谷系数:高峰排队、低峰空转,容量结论与实际体验脱节
  • 口径不一致(网关按总量、引擎按输出量):算出的实例数可能偏差数倍
  • 用厂商标称吞吐代替本地实测:硬件、模型与参数一变就没有可比性
  • 只算算力不算显存:并发上限被 KV 池卡死,加卡并不等于加并发

数据来源与参考

  • vLLM 官方文档:性能与调优(docs.vllm.ai)
  • NVIDIA 开发者博客:LLM 推理部署(developer.nvidia.com/blog)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌