外观
如何做大模型服务的容量估算和压力测试?
3 分钟速学卡
30 秒口述: 我会先按任务类型统计到达率、峰值系数、输入与输出 Token 分布、同步或流式模式和目标 SLO,再用 Little's Law 粗估稳态并发,用目标硬件或供应商配额做实测校准。压测必须覆盖 Prefill 与 Decode、长短请求混合、突发流量、缓存冷热、取消、限流和故障降级,不能只发同长度请求看平均 QPS。最终以 TTFT、端到端 P95/P99、tokens/s、队列、显存、错误、降级和单位成功任务成本共同确定安全容量与扩容阈值。
- 本质: 容量公式只给量级,混合负载和故障压测才给生产安全线。
- 核心机制: 从任务、峰值、Token 分布和 SLO 建模;分开观察 Prefill、Decode、排队和显存。
- 关键判断: 压测覆盖混合长度、突发、取消和故障;用尾延迟、质量与成本共同定义安全容量。
- 项目落地: 压测方案:从单请求基线开始,逐级增加并发,混入短问答、长上下文和长输出;再加入 429、上游抖动、节点退出与客户端取消。
- 边界与坑: “QPS 乘平均耗时就是容量”:这只是稳态平均并发量级,不含峰值和资源约束;“GPU 利用率越高越好”:过高可能导致排队、显存不足和尾延迟恶化。
目录
面试官为什么问
这道题考察量级估算、工作负载建模、模型推理特性和生产压测方法,重点是能否从平均值走向真实分布与安全余量。
小白先看懂
设计高速公路不能只问“一小时来了多少辆车”,还要看早高峰突发、卡车与小车比例、收费站速度和事故封道。请求率对应车流,输入输出 Token 对应车辆长度与行驶距离,排队对应拥塞,GPU 显存对应道路空间。
Little's Law 可用 平均并发 ≈ 到达率 × 平均停留时间 粗估稳态量级。类比不能替代压测,因为模型 Prefill、Decode、Batching 和 KV Cache 会让不同长度请求互相影响。
主题图与核心原理
图:教学图片|如何做大模型服务的容量估算和压力测试?
替代文本: 围绕“如何做大模型服务的容量估算和压力测试?”组织的中文教学图,通过分区、箭头和标签解释核心机制。

读图结论: 平均值不能代表峰值;P99 与质量决定是否可用。
这张图片用于建立主题机制的直觉。精确公式、参数、失败分支和事实边界仍以正文与 Mermaid 为准。
图片生成记录: model=gpt-image-2,generated=2026-07-15,prompt_version=v1,reviewed=2026-07-16,review_basis=user-confirmed;查看生成 Prompt。
图:容量估算从工作负载到安全阈值
替代文本: 请求分布、Token 长度与 SLO 先形成容量假设,再通过阶梯并发和故障压测校准,最后输出安全容量、限流和扩容阈值。
图表加载中…
读图结论: 公式给出量级,真实工作负载压测决定安全容量,故障场景决定余量。
对外部 API,还要把组织配额、并发限制和限流规则视为容量上限;对自部署模型,要分别观测 Prefill/Decode、Batch、KV Cache、显存和 GPU 利用率。平均并发不能直接代表峰值容量。
项目和生产视角
压测方案: 从单请求基线开始,逐级增加并发,混入短问答、长上下文和长输出;再加入 429、上游抖动、节点退出与客户端取消。达到目标吞吐但 P99、质量或成本超标,仍不算通过。
压测环境、模型、量化、硬件、批策略、数据分布与版本都要记录。线上用队列等待、显存余量、TTFT 和错误预算触发扩容或降级,而不是等 CPU 达到固定百分比。
常见错误回答
- “QPS 乘平均耗时就是容量”:这只是稳态平均并发量级,不含峰值和资源约束。
- “GPU 利用率越高越好”:过高可能导致排队、显存不足和尾延迟恶化。
- “压测达到最大 QPS 就结束”:还需验证质量、取消、恢复、成本和安全余量。
递进追问
- Prefill 与 Decode 为什么要分开建模?
- 如何构造长短请求混合的压测分布?
- TTFT 正常但总耗时恶化,应先看什么?
- 自部署和外部 API 的容量边界有何不同?
- 如何从压测结果得到限流和自动扩容阈值?
关联阅读
总结
一句话记忆: 容量公式只给量级,混合负载和故障压测才给生产安全线。
- 从任务、峰值、Token 分布和 SLO 建模。
- 分开观察 Prefill、Decode、排队和显存。
- 压测覆盖混合长度、突发、取消和故障。
- 用尾延迟、质量与成本共同定义安全容量。