跳到主要内容

6 篇博文 含有标签「capacity-planning」

查看所有标签

GPU 算力是产品路线图的约束:决定第三季度的 18 个月合同

· 阅读需 11 分钟
Tian Pan
Software Engineer

十四个月前,在你公司的某个角落,一位财务总监和一位平台负责人签署了一份为期数年的算力加速器资源承诺协议。他们根据前一个季度的遥测数据构建了一个峰值负载模型,谈到了比按需计费价格低 40% 到 70% 的折扣,并锁定了集群的规格——而你现在的产品路线图必须去适应这个规格。产品团队中没有人参与过那次会议。应用工程团队中也没有人见过那份电子表格。这份合同具有法律约束力,只有在履行承诺的前提下才能享受折扣,而它买下的容量边界,现在成了产品经理们正在规划的每一个第三季度功能的隐形天花板。

大多数团队直到第二年才会察觉到这个差距:容量合同本质上是路线图决策,但它们是由那些看不见路线图的人,使用不包含路线图信息的输入数据做出的。产品“三人组”认为他们正从一个清晰的优先级积压任务中挑选功能。财务部门认为他们正在优化一个固定的预算边界。在各自的语境下他们都是正确的,而冲突则会在规划会议上显现——当架构师提议为新的助手功能使用 700 亿参数模型时,平台负责人会平静地说,集群使用率已经达到 85%,如果不挤掉其他项目,这个模型根本放不下。

Agent 循环容量计算:为什么你的预置吞吐量只有你想象的一半

· 阅读需 13 分钟
Tian Pan
Software Engineer

我曾合作过的一个团队发布了一个他们称之为 “小规模” 的功能:一个供几百名分析师使用的内部研究助手。他们的容量模型认为一次用户请求等于一次模型调用,因此他们根据峰值用户 QPS,并预留了标准的 30% 突发余量来设定预置吞吐量(provisioned throughput)的大小。发布当天,他们在不到一小时内就遇到了 429 错误,原本应该只消耗 40% 预留容量的流量却让容量达到了 100% 的饱和状态。事后复盘发现了一个之前没有人算进去的数字:平均每个请求触发了 11 次模型调用,而不是 1 次。

这是我在 Agent 推广过程中看到的最常见的容量估算失误。其中的数学逻辑并不复杂,失败模式也并不罕见。团队问错了单位问题——他们以用户请求为单位进行规划,而计费表是按模型调用次数计次的——他们支付真金白银买下的预留容量,在一种如果换成聊天产品本应被视为轻负载的压力下化为乌有。

仪表盘视为噪点的周一早晨 AI 性能下降

· 阅读需 11 分钟
Tian Pan
Software Engineer

打开你的 AI 功能延迟和质量看板,眯起眼睛仔细看。曲线大部分时间是平缓的,偶尔会有一些峰值,你的团队几个月来一直称之为“噪音”或“供应商异常”。现在,按小时和星期几来拆分这些数据。噪音显现出了真面目:在东部时间每个周一上午 9 点到 11 点之间,你的 p95 延迟比周六晚上高出 30–60%,缓存命中率下降 10–20 个点,重试率翻倍,每个任务的 token 支出也在悄然攀升。看板没有撒谎,它只是在做平均。

大多数团队发现这种模式的方式就像发现缓慢漏水一样:通过回溯没人能解释的季度账单。直觉是将其归结为供应商的不稳定性,给推理厂商提个工单,然后就此作罢。但这种模式其实与你的 LLM 供应商无关。事实是,你的 AI 功能现在构建在一堆共享的、对时间敏感的系统之上——模型 API、embedding API、你的 agent 调用的 SaaS 工具、接收 webhook 的客户自身基础设施——而其中每一个系统的周期性负载模式都会发生叠加。你继承了整个依赖链的昼夜曲线,而你的看板向你展示的是所有这些曲线的平均值。

推理成本预测:财务团队想要而你写不出来的容量规划

· 阅读需 13 分钟
Tian Pan
Software Engineer

你的财务团队会要求你提供一份你写不出来的容量规划。这不是因为你缺乏经验,也不是因为模型是新事物,而是因为经典容量规划所依赖的两个假设——可衡量的负载分布和在季度维度上稳定的单位成本——在 AI 工作负载面前都失效了。你交给他们的数字从第一天起就会是错的,而当偏差出现时,随后的讨论将不仅仅关乎账单。

《2026 年 FinOps 现状报告》将 AI 列为增长最快的新支出类别,大多数受访者表示 AI 成本超出了最初的预算预测——对于许多企业来说,推理现在消耗了 AI 账单的大部分。用 SaaS 风格的容量规划来管理它的本能反应——选择一个峰值 QPS,乘以单位成本,再加上 30% 的缓冲——产生的数字看起来像预测,其实际预测能力却如同占星术。你真正需要的容量规划看起来更像是 FinOps 场景模型,而不是采购电子表格,而生成它所需的工程工作属于平台工作,会一直与功能开发竞争资源,直到财务部门失去耐心。

AI 推理的突发容量规划:当黑色星期五遇上你的 KV Cache

· 阅读需 12 分钟
Tian Pan
Software Engineer

黑色星期五的流量峰值来了。传统 API 服务的应对方式是启动更多容器。60 秒之内,你的容量就扩充到三倍。自动扩缩容器做了它一贯的事,你安然入睡。

但如果用同一个自动扩缩容器跑 LLM,结果就大相径庭了。新的 GPU 实例要在四分钟的模型权重加载之后才能上线。等那时候,你的请求队列已经塞满,现有 GPU 在半途生成的请求的内存压力下颠簸挣扎,用户盯着转圈圈的加载动画发呆。增加更多算力没有任何帮助——瓶颈根本不在你以为的地方。

AI 推理负载打破了让响应式自动扩缩容在传统服务中奏效的大多数假设。理解其中的原因,是构建能够扛住流量峰值的系统的前提。

LLM 排队论:为什么你的负载均衡器按请求思考,而你的 GPU 按 Token 思考

· 阅读需 14 分钟
Tian Pan
Software Engineer

你的负载均衡器将请求均匀地分配到你的 GPU 集群中。每个实例接收到的并发请求数量大致相同。一切看起来都很均衡。然而,一个实例的运行速度缓慢,仅为每秒 40 个 token,而另一个实例却能稳定在 200 个。仪表板显示请求数相等,但你的用户体验到的延迟却天差地别。

问题的根源在于:传统的负载均衡在请求层面运行,但 LLM 推理成本是随 token 数量扩展的。一个要求生成 4,000 个 token 文章的请求所消耗的 GPU 时间,是一个生成 80 个 token 分类结果请求的 50 倍。将它们视为同等单位,就像高速公路收费站只计算车辆数量而不区分摩托车和 18 轮大卡车一样。

这种请求层面的思维与 token 层面的现实之间的不匹配,正是古典排队论面临的最有趣的现代挑战。