4. 容量调优目标与策略

在 Serverless 平台中,HPA 接入后的容量调优并非单纯追求“不降级”或“不超卖”,而是一个在 SLA(服务等级协议)、成本与资源利用率三个维度之间寻找最优平衡点的过程。租户配额校准的精度,直接取决于容量调优策略的选择与执行效果。

4.1 调优目标:三角约束模型

容量调优的三大核心目标构成一个相互制约的三角关系。任何单一维度的极致优化,都会对其他两个维度产生负面影响。

目标维度 核心指标 调优方向 对租户配额的影响
SLA P99 延迟、错误率、冷启动率 保障请求在限定时间内完成,避免超时或拒绝 配额需预留 Buffer,防止突发流量击穿
成本 每请求成本、预留资源浪费量 最小化闲置资源,避免过度预置 配额需精确匹配实际需求,减少浪费
资源利用率 CPU/内存平均使用率、碎片率 提高集群整体装箱密度 配额需支持动态超卖,提升集群效率
关键原则: 租户配额校准必须在 SLA 红线之上进行成本与利用率的优化。任何导致 SLA 违约的“优化”都是不可接受的。
容量调优三角约束模型 SLA 成本 资源利用率 三角约束 优化任一目标 需权衡其他两个目标

4.2 常见调优策略分类

根据调整对象、触发时机和预测能力,容量调优策略可分为以下三大类。在实际的 Serverless 平台中,这些策略通常组合使用。

4.2.1 垂直扩缩容 vs. 水平扩缩容

  • 垂直扩缩容(Vertical Scaling): 调整单个 Pod 的资源规格(如 CPU 从 1 核升至 4 核)。
    适用场景: 单线程密集型任务、有状态服务。
    局限: 受限于单机资源上限,且扩缩容通常需要重启 Pod。
  • 水平扩缩容(Horizontal Scaling): 调整 Pod 的副本数量(如从 3 个副本扩至 10 个)。
    适用场景: 无状态服务、微服务架构。
    优势: 理论上无限扩展,且扩缩容对业务影响小。
实践建议: 在 Serverless 平台中,HPA 主要驱动水平扩缩容。垂直扩缩容通常作为辅助手段,用于解决“单个 Pod 资源不足”的瓶颈问题。

4.2.2 主动扩缩容 vs. 被动扩缩容

策略类型 触发方式 响应速度 典型实现 对配额校准的影响
被动扩缩容 基于实时指标(CPU/内存/QPS) 秒级到分钟级 Kubernetes HPA、KEDA 配额需包含“反应时间”内的缓冲容量
主动扩缩容 基于计划事件(定时、活动预告) 即时生效 CronHPA、自定义 Webhook 配额可提前释放,减少突发 Buffer

4.2.3 预测性扩缩容

预测性扩缩容(Predictive Scaling)是主动策略的进阶形态。它通过分析历史流量数据,利用机器学习模型预测未来一段时间的负载趋势,并提前调整资源配额。

  • 数据来源: 历史 QPS、并发数、响应时间、业务日历。
  • 常用模型: 时间序列分析(ARIMA)、Prophet、LSTM。
  • 优势: 消除“反应滞后”,实现零冷启动、零排队。
  • 挑战: 模型训练成本、预测偏差导致的资源浪费或不足。
注意: 预测性扩缩容不能完全替代被动扩缩容。当出现突发流量(如热点事件、攻击流量)时,被动策略是最后的防线。推荐采用“预测为主、被动兜底”的混合模式。
混合扩缩容策略流程 历史流量数据 预测模型 (ARIMA/Prophet) 主动扩缩容 实时指标 被动扩缩容 容量决策引擎 取最大值 / 加权融合 目标 副本数 预测为主,被动兜底 保障 SLA 的同时降低成本

4.3 策略组合与租户配额校准

在 Serverless 平台中,租户配额校准需要根据不同的调优策略进行差异化计算:

  1. 被动策略主导时: 配额 = 历史峰值 × (1 + 安全系数)。安全系数通常为 20%~50%,用于应对突发流量。
  2. 主动策略介入时: 配额 = 预测峰值 × (1 + 缓冲系数)。缓冲系数可降至 5%~10%,因为流量可预期。
  3. 预测性策略成熟时: 配额 = 模型预测值 + 残差修正。残差修正项用于吸收模型误差。
核心结论: 调优策略越“主动”和“预测”,租户配额校准的精度就越高,资源浪费就越少。但同时也对平台的稳定性、数据质量和模型能力提出了更高要求。