第 250 题:推理请求的admission control?防止过载?
题目
推理请求的admission control?防止过载?
完整讲解
一、Admission control 的目的
准入控制:在 请求进入 推理前做 接受/拒绝 决策,防止过载:当 系统已接近或超过容量 时,拒绝新请求(或排队、降级)比 全盘接受导致雪崩 更可控。保证 已接受请求 的 延迟与成功率。
二、实现方式
基于队列:请求队列 有 最大长度;超过则 拒绝(返回 503/429)或 返回「排队中」 让客户端重试。基于负载:当前 QPS、CPU/GPU 利用率、正在处理数 超过阈值则 拒绝;需 实时指标 与 快速决策。基于延迟:当前 P99 或平均延迟 已超 SLO 则 暂停接纳,等负载下来再开。基于 token:预留 一定「处理能力」或「并发槽位」;新请求 消耗 token,无 token 则拒绝;与 限流 结合(如每用户 token 桶)。
三、与限流、降级配合
限流:按 user、API key、租户 限 QPS,先于 admission 做;admission 是 全局 保护。降级:过载时 部分请求 走 简化模型、缓存或默认回复,减少拒绝率但略降质量。反馈:拒绝时返回 Retry-After 或 backoff 建议,客户端可重试;队列 模式可返回 排队位置与预估时间。
面试要点
- Admission control:请求进入前接受/拒绝,防止过载、保护已接受请求的 SLA。
- 实现:基于队列长度、负载、延迟、token/槽位;超阈值拒绝或排队。
- 与限流(按用户)、降级配合;拒绝时 Retry-After 或排队信息。
记忆要点
- Admission = 准入;过载时拒绝或排队。
- 基于队列/负载/延迟/token;与限流、降级配合。
- 返回 503/429、Retry-After。