2. 限流核心指标:QPS、TPS、并发数、吞吐量、延迟、熔断与降级的关系

在模型服务API的限流设计中,理解核心指标之间的区别与联系是制定有效策略的前提。QPS、TPS、并发数、吞吐量、延迟、熔断与降级并非孤立概念,它们共同构成了限流系统的可观测性与控制边界。本节将逐一拆解这些指标的定义、计算方式,并揭示它们之间的联动关系。

2.1 核心指标定义与对比

以下表格从定义、典型场景、计量单位三个维度对六个核心指标进行横向对比:

指标 定义 典型场景 单位
QPS 每秒查询数(Queries Per Second),衡量API接口被调用的频率 读密集型模型推理、文本生成请求 次/秒
TPS 每秒事务数(Transactions Per Second),衡量完整业务事务的处理能力 包含多次API调用的端到端业务流程 笔/秒
并发数 系统在同一时刻正在处理的请求数量 长连接推理、流式输出、WebSocket服务 个
吞吐量 单位时间内系统成功处理的请求总量 批量推理、数据管道处理 请求/秒 或 MB/秒
延迟 从请求发出到收到完整响应所消耗的时间 实时对话、在线翻译、语音识别 毫秒(ms)
熔断与降级 熔断:主动切断故障链路;降级:牺牲非核心功能保障核心功能 模型过载、下游服务超时、资源耗尽 状态机(关闭/打开/半开)
实践提示: 在模型服务API中,QPS与TPS的差异常被忽略。例如,一次文本生成请求可能包含1次推理查询(QPS=1),但若该请求需要经过认证、上下文组装、推理、后处理四个子步骤,则TPS=4。限流时需明确是针对QPS还是TPS。

2.2 指标间的数学关系与限流公式

限流策略的数学基础建立在利特尔法则(Little's Law)之上,该法则揭示了并发数、吞吐量与延迟之间的确定性关系:

并发数 = 吞吐量 × 平均延迟

其中:
- 并发数:系统同时处理的请求数量(单位:个)
- 吞吐量:单位时间完成的请求数(单位:请求/秒)
- 平均延迟:每个请求的平均处理时间(单位:秒)

基于此公式,可以推导出限流场景下的关键约束:

  • 当延迟固定时:吞吐量上限由并发数决定。例如,若平均延迟为200ms,最大并发数为100,则最大吞吐量为 100 / 0.2 = 500 请求/秒。
  • 当吞吐量固定时:延迟会随并发数增加而线性增长。这是模型服务过载时延迟飙升的根本原因。
  • 限流阈值设定:通常以QPS或并发数为限流维度,但必须同时监控延迟,避免出现“高QPS低延迟”的假象。
常见误区: 很多团队只关注QPS而忽略并发数。对于模型推理这类长耗时操作(如GPT类模型单次推理可能耗时1-5秒),即使QPS很低,并发数也可能迅速堆积导致内存溢出。务必同时设置并发数上限。

2.3 熔断与降级:限流的保护性扩展

限流是主动预防,熔断与降级是被动保护。三者构成完整的流量治理闭环:

  • 限流:在请求到达前或到达时,直接拒绝超出阈值的请求,防止系统进入过载状态。
  • 熔断:当错误率或延迟超过阈值时,自动切断对下游服务的调用,避免故障级联扩散。熔断器状态包括:关闭(正常)、打开(拒绝请求)、半开(试探恢复)。
  • 降级:在系统压力过大时,主动关闭非核心功能(如日志记录、详细错误信息),释放资源保障核心推理链路。

以下SVG图展示了限流、熔断、降级在模型服务调用链中的协作关系:

限流、熔断与降级协作关系图 客户端请求 限流层 熔断器 模型服务 降级模块(非核心功能) 熔断触发:拒绝请求 降级指令 流程说明: 1. 请求先经过限流层,若超过QPS/并发阈值则直接拒绝。 2. 通过限流的请求进入熔断器,若熔断器处于打开状态则快速失败。 3. 熔断器正常时请求到达模型服务;若模型服务异常,熔断器记录错误并可能触发降级。

2.4 指标联动:一个完整的限流决策链

在实际的模型服务API中,各指标并非独立监控,而是形成一条决策链。以下SVG图展示了从请求入站到限流决策的完整数据流:

限流决策链:指标联动与阈值判断 请求入站 QPS计数器 并发计数器 延迟监控 错误率监控 限流决策引擎 (综合判断) 允许 / 拒绝 决策逻辑示例:若 QPS > 1000 或 并发数 > 200 或 延迟 > 5000ms 或 错误率 > 10%,则触发限流/熔断。 各阈值可配置,且支持动态调整(如根据时段、模型版本、用户等级差异化限流)。

2.5 指标选择与限流策略匹配

不同的模型服务场景应选择不同的核心指标作为限流依据:

模型服务类型 推荐限流指标 原因
短文本推理(如分类、抽取) QPS 请求处理时间短(<100ms),QPS能准确反映负载
长文本生成(如GPT对话) 并发数 + 延迟 单次请求耗时数秒,并发堆积比QPS更危险
流式输出(SSE/WebSocket) 并发数 + 吞吐量 连接保持时间长,需限制同时建立的连接数
批量推理(Batch Inference) 吞吐量 + 延迟 关注单位时间处理的总请求量,而非瞬时QPS
多模型级联服务 TPS + 熔断 事务跨多个模型,任一环节故障需快速熔断
核心结论: 限流不是单一维度的数字游戏。QPS决定入口流量,并发数决定系统压力,延迟反映服务质量,熔断与降级提供安全网。一个健壮的限流系统必须同时监控这六个指标,并基于利特尔法则建立它们之间的联动阈值。下一节将深入讲解如何基于这些指标设计具体的限流算法。