← 返回题目列表

大模型应用如何做限流和配额?

中等 第 25 / 25 题 更新于 2026/09/18
LLMOpsAI技术大模型面试题

简化版

大模型不能只按 QPS 限流,因为 100 Token 分类和 20K Token 生成成本差异巨大。应同时控制请求速率、输入/输出 Token、并发、KV 占用、工具调用和日/月预算,并按租户、模型、场景分层。

限流保护瞬时容量,配额约束一段时间的资源权益。常用令牌桶允许短突发,运行时再用最大输出、步骤和 Deadline 防止单请求失控;超限时明确返回 Retry-After、排队、降级或拒绝。

详细版

request -> identity -> quota check -> cost estimate -> admission
        -> runtime budget -> usage settlement
维度防护目标
RPM/QPS请求洪峰
TPMToken 成本差异
并发/KV在线显存容量
工具预算外部费用与副作用
日/月金额商业预算

配额身份必须可信,分布式扣减要幂等;拒绝按客户超额与平台过载区分。监控使用率、拒绝原因、预测误差、借用份额和 SLO,避免限流器自身成为单点。

完整版教学

1. 限流与配额的区别

限流关注秒/分钟级到达速度,配额关注日/月累计权益。前者防过载,后者做公平与成本治理。

两者同时存在:月额度充足的租户也不能瞬间把集群打满。

2. 为什么 QPS 不够

LLM 资源与输入、输出长度和模型相关。相同请求数可能对应几十倍 Token 与 KV。

estimated_units = a × input_tokens + b × output_budget + tool_units

系数用真实 Profile 校准。

3. 令牌桶如何工作

桶以固定速率补充 Token,请求按估算成本扣减;桶容量决定允许的短时突发。

扣减失败时排队或拒绝,不能让余额无限为负。输出结束后可按实际用量结算预测差额。

4. 配额层级如何组织

平台、租户、应用、用户和 API Key 可分别有上限。子级使用不能突破父级,多个 Key 不能绕过租户总额。

层级典型限制
平台总 GPU/供应商预算
租户TPM、并发、月费用
应用模型与工具范围
用户防滥用与公平

规则需明确继承与优先级。

5. 输出未知怎么预留

准入时已知输入,只能用 max tokens、历史分位或任务模型预测输出。先预留,再按实际返还。

高风险容量用保守高分位;低风险任务可降低输出上限并在接近预算时安全收尾。

6. 并发与 KV 为什么单独限制

Token 速率相同,长连接与慢客户端仍可能长期占用 KV。设置活跃序列、缓存 Token 和暂停请求上限。

达到显存高水位时停止普通准入,降到低水位再恢复,避免临界点抖动。

7. Agent 和工具如何计费

限制最大步骤、模型调用、工具次数、外部金额和总 Deadline。子调用共享根预算,不能每层重新获得满额度。

写工具达到预算时安全停止并报告状态,不可在副作用未知时盲目重试。

8. 分布式一致性怎么做

全局强一致计数准确但延迟高;本地批量租约性能好但会有有限超卖。按风险选择,并定义最大误差。

扣减使用幂等 request_id,重试不能重复计费。控制面失败时采用本地保守上限。

9. 超限后如何处置

客户超合同配额返回明确 429 与 Retry-After;短时平台过载可有界排队、路由或降级;高风险任务不能静默换弱模型。

响应区分 quota_exceeded、rate_limited 和 capacity_overload,便于客户端正确处理。

10. 空闲份额能否借用

允许租户借用未使用容量提高利用率,但合同保底流量回来时要停止新借用并平滑收回。

等待老化和最低份额防止小租户饥饿;借用量不能被误计为永久额度。

收回时优先限制借用方的新请求,让在途请求按预算完成,避免强制抢占造成重算和用户失败。借用、收回和保底违约都应形成可观测事件。

11. 如何防绕过

限额绑定认证后的主体,而非可修改 Header;检测多 Key、重试风暴和并发连接滥用。

缓存命中可少扣计算单位,但请求和安全检查仍需速率保护,防止缓存层遭攻击。

对批量 API 还要展开内部子任务计量,避免一个 HTTP 请求包装上万条任务绕过 QPS;不同入口最终汇聚到同一主体账本,不能各自拥有互不相知的额度。

12. 如何监控与验收

记录限额使用率、拒绝原因、余额、预测/实际差、排队、SLO 和单位成本。按租户和规则版本切片。

压测持续流量、突发、长输出、重复重试和计数服务故障,验证不会超卖到 OOM,也不会错误阻断保底份额。

限流与配额的目标,是把共享资源变成可兑现、可解释且不会被单个请求突破的契约。

13. 常见误区与追问

  • 误区:按 QPS 限流就够了。 Token、KV 和工具成本差异很大。
  • 误区:月额度未用完就应全部接收。 瞬时容量仍有边界。
  • 误区:客户端声明租户即可。 身份必须来自认证层。
  • 误区:每层各自重试不会影响配额。 子调用必须共享根预算。
  • 误区:分布式计数必须绝对强一致。 可按风险选择有限超卖租约。
  • 追问:输出长度未知怎么办? 预留高分位预算,结束后按实际结算。
  • 追问:限流器挂了怎么办? 使用缓存的保守本地上限,避免无限放行。

14. 加强记忆

  1. 先分概念:限流管速率,配额管累计权益。
  2. 再分资源:请求、Token、并发、KV、工具和金额。
  3. 再做层级:平台、租户、应用、用户。
  4. 再做预算:预留输出,实际结算,子调用共享。
  5. 再做处置:排队、降级、路由、Retry-After。
  6. 再防绕过:可信身份、幂等扣减和重试治理。
  7. 最后验收:高峰不 OOM,保底不饥饿,账单可解释。