首页/AI/大模型部署与运维速查/队列积压:止损动作阶梯
运维监控与排障50 条

队列积压:止损动作阶梯

等待请求数持续上涨时按阶梯动作:先限制新请求(429 保已在队请求的延迟)→ 按预案扩容 → 必要时收短输出上限;每步观察一分钟再决定下一步。

积压意味着什么

等待请求数持续上涨,说明请求到达速率已经超过引擎的处理能力,已经在队里的请求延迟会被不断推高。止损按阶梯来:先限制新请求保住已有请求的延迟,再按预案扩容,必要时临时收短输出上限。每执行一步观察一分钟,确认趋势变化再决定下一步,避免几个动作同时下去无法判断效果。

基本信息

适用平台自托管推理服务与前置网关
观察指标等待请求数、运行中请求数、队列等待时间
观察工具引擎指标端点配合轮询命令或监控看板
执行前提限流参数与扩容脚本提前配置并演练过
权限要求网关配置与实例扩缩容权限

止损动作阶梯

  • 台阶一:网关限流或收紧排队上限,保护已在队请求的延迟
  • 台阶二:按预案扩容实例,注意加载与预热时间,要提前触发
  • 台阶三:临时收短输出上限或降级到小模型,需业务方确认
  • 台阶四:拒绝部分请求并返回明确错误,避免整体不可用
  • 台阶五:暂停非核心调用方,把容量留给关键业务
  • 每步执行后观察等待数与分位数延迟,确认趋势再进入下一步

观察与止损起点

观察与止损起点
watch -n 5 "curl -s http://127.0.0.1:8000/metrics | grep -E 'num_requests_waiting|num_requests_running'"
# 达到预案阈值后:先在网关把新请求限流或收紧排队上限

台阶与预期效果

台阶动作预期效果
一网关限流或收紧排队上限保住已在队请求的延迟
二按预案扩容实例提升处理能力,注意加载时间
三收短输出上限或降级小模型降低单请求资源占用,需业务确认
四拒绝部分请求并返回明确错误避免整体不可用,保住成功请求的质量
限流参数与扩容脚本提前配置好:故障当下只做执行,不做配置创作。
把等待数与队列等待时间一起看:只看等待数,无法区分是排队久还是请求到达太快。

易错点

  • 先扩容不动限流:新实例加载完成前,积压会把延迟推到更难忍受的水平
  • 扩容不计预热时间:实例起来到能接流量之间有间隔,预案里必须把这段算进去
  • 只监控错误率:积压阶段错误率可能还是零,等开始报错时体验已经崩了
  • 止损动作没有记录:事后复盘不知道该复现哪一步,预案也无法改进

数据来源与参考

  • Google SRE 手册:Handling Overload(sre.google/sre-book)
  • vLLM 官方文档:Production Metrics(docs.vllm.ai)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌