3. 流量(Traffic)指标详解:定义、建模与阈值设定

流量指标是衡量系统请求压力的第一道防线。在可观测性体系中,流量数据直接反映用户行为、业务负载与系统容量水位。本节将系统讲解 QPS/RPS/TPS 的核心定义、吞吐量建模方法、突发流量识别技术以及阈值设定的工程实践。

3.1 核心指标定义:QPS / RPS / TPS

这三个指标常被混用,但在不同架构场景下具有明确的语义差异。下表从定义、适用场景与典型计算方式三个维度进行对比:

指标 全称 定义 典型场景 计算方式
QPS Queries Per Second 每秒查询次数,侧重读操作 数据库、搜索引擎、缓存 总查询数 / 时间窗口(秒)
RPS Requests Per Second 每秒请求次数,涵盖所有 HTTP 请求 API 网关、Web 服务器、负载均衡 总请求数 / 时间窗口(秒)
TPS Transactions Per Second 每秒事务数,强调完整业务原子操作 支付、下单、转账、订单处理 成功事务数 / 时间窗口(秒)
工程要点:在微服务架构中,建议同时采集 RPS(入口层)与 TPS(业务层)。RPS 反映系统负载,TPS 反映业务吞吐。当 RPS 与 TPS 出现明显背离时(如 RPS 高但 TPS 低),通常意味着大量请求被拒绝、超时或返回错误,是容量瓶颈的早期信号。

3.2 吞吐量建模方法

吞吐量建模的目标是建立流量与系统资源(CPU、内存、IO)之间的量化关系,为容量规划与阈值设定提供依据。常用的建模方法包括以下三种:

  1. 线性回归模型:基于历史监控数据,拟合 RPS 与 CPU 使用率、内存占用等资源指标之间的线性关系。适用于稳态业务,模型简单,可快速给出容量预估。
  2. 排队论模型(M/M/c):将请求视为到达过程,服务节点视为服务台,通过平均到达率 λ 与平均服务率 μ 计算系统稳态指标(如平均排队长度、平均响应时间)。适用于有明确服务时间的同步调用场景。
  3. 压力测试标定法:在预发或灰度环境执行阶梯式压测,记录不同 RPS 下的延迟、错误率与资源消耗,直接绘制吞吐量-延迟曲线。这是最可靠的方法,但需要定期更新。

以下 SVG 图展示了吞吐量建模的核心流程与数据流向:

吞吐量建模流程 历史监控数据 压测标定数据 架构拓扑信息 吞吐量建模引擎 线性回归 / 排队论 / 压测拟合 容量水位曲线 阈值建议值 扩缩容策略 建模输出需定期(建议每季度)校准,业务大版本上线后必须重新标定 避免使用超过 6 个月的历史数据拟合当前容量模型

3.3 突发流量识别技术

突发流量(Traffic Spike)是导致系统雪崩的最常见诱因。识别突发流量不能仅依赖固定阈值,需要结合动态基线检测与多维度特征分析。以下是三种主流识别方法:

方法 原理 优势 局限
滑动窗口统计 以秒级粒度统计当前窗口 RPS,与过去 N 个窗口的均值/中位数对比 实现简单,计算开销低 对周期性业务(如整点秒杀)误报率高
同比/环比基线 对比当前时刻与昨日/上周同期的流量值 消除时间周期性影响 需要存储历史基线,对业务增长趋势不敏感
机器学习异常检测 使用 ARIMA、Prophet 或 Isolation Forest 建模流量时序,检测偏离预测区间的点 适应复杂模式,准确率高 需要训练数据与模型维护成本
最佳实践:生产环境建议采用“滑动窗口 + 同比基线”双层检测。第一层用滑动窗口快速捕获秒级突增(如 3 秒内 RPS 翻倍),第二层用同比基线过滤掉已知的周期性高峰(如每日 10:00 的业务高峰),降低误报率。

3.4 阈值设定方法

流量阈值的设定需要兼顾“提前发现”与“避免误报”。以下是经过生产验证的四步设定法:

  1. 采集基线数据:连续采集 7~14 天的流量数据,覆盖工作日、周末、业务高峰与低谷时段,构建完整的流量画像。
  2. 计算统计特征:按小时粒度计算 P50、P90、P99 分位值以及标准差 σ。通常以 P99 + 3σ 作为“警告阈值”,以 P99 + 5σ 作为“严重阈值”。
  3. 引入业务因子:对于已知的大促、秒杀、运营活动时段,将阈值上浮 50%~200%,避免活动期间频繁告警。
  4. 动态调整与回测:阈值上线后持续观察告警准确率与召回率,每周回测一次,根据误报/漏报情况微调系数。

以下 SVG 图展示了阈值设定与动态调整的完整闭环:

流量阈值设定闭环 数据采集 7~14 天流量画像 统计建模 P99 + 3σ / 5σ 业务因子注入 大促/秒杀上浮 阈值上线 告警规则生效 回测与微调 准确率/召回率评估 反馈闭环 更新基线数据 阈值不是一次性设定,而是一个持续迭代的闭环过程 建议每周自动回测一次,每月人工 review 一次阈值配置 当业务流量增长超过 30% 时,必须立即重新标定所有流量阈值

3.5 流量指标告警配置清单

以下清单总结了流量指标告警配置的核心检查项,可作为 SRE 团队日常巡检与事故复盘的标准参考:

检查项 推荐配置 说明
RPS 突增告警 当前 RPS > 基线 P99 × 1.5 捕获突发流量,避免过载
RPS 突降告警 当前 RPS < 基线 P50 × 0.3 可能表示上游故障或网络中断
TPS 成功率告警 TPS / RPS < 0.8 大量请求未转化为业务事务
流量与资源背离 RPS 上升但 CPU 使用率下降 可能触发限流或降级逻辑
同比异常告警 当前 RPS > 上周同期 × 2 消除周期性干扰,识别真实异常
常见陷阱:不要仅依赖单一流量指标。例如,RPS 正常但 TPS 骤降,可能意味着请求被快速拒绝(限流生效),此时系统实际已处于过载状态。务必同时监控 RPS、TPS、错误率与延迟,形成四维交叉验证。