4. 容量调优目标与策略
在 Serverless 平台中,HPA 接入后的容量调优并非单纯追求“不降级”或“不超卖”,而是一个在 SLA(服务等级协议)、成本与资源利用率三个维度之间寻找最优平衡点的过程。租户配额校准的精度,直接取决于容量调优策略的选择与执行效果。
4.1 调优目标:三角约束模型
容量调优的三大核心目标构成一个相互制约的三角关系。任何单一维度的极致优化,都会对其他两个维度产生负面影响。
| 目标维度 | 核心指标 | 调优方向 | 对租户配额的影响 |
|---|---|---|---|
| SLA | P99 延迟、错误率、冷启动率 | 保障请求在限定时间内完成,避免超时或拒绝 | 配额需预留 Buffer,防止突发流量击穿 |
| 成本 | 每请求成本、预留资源浪费量 | 最小化闲置资源,避免过度预置 | 配额需精确匹配实际需求,减少浪费 |
| 资源利用率 | CPU/内存平均使用率、碎片率 | 提高集群整体装箱密度 | 配额需支持动态超卖,提升集群效率 |
关键原则: 租户配额校准必须在 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。
- 优势: 消除“反应滞后”,实现零冷启动、零排队。
- 挑战: 模型训练成本、预测偏差导致的资源浪费或不足。
注意: 预测性扩缩容不能完全替代被动扩缩容。当出现突发流量(如热点事件、攻击流量)时,被动策略是最后的防线。推荐采用“预测为主、被动兜底”的混合模式。
4.3 策略组合与租户配额校准
在 Serverless 平台中,租户配额校准需要根据不同的调优策略进行差异化计算:
- 被动策略主导时: 配额 = 历史峰值 × (1 + 安全系数)。安全系数通常为 20%~50%,用于应对突发流量。
- 主动策略介入时: 配额 = 预测峰值 × (1 + 缓冲系数)。缓冲系数可降至 5%~10%,因为流量可预期。
- 预测性策略成熟时: 配额 = 模型预测值 + 残差修正。残差修正项用于吸收模型误差。
核心结论: 调优策略越“主动”和“预测”,租户配额校准的精度就越高,资源浪费就越少。但同时也对平台的稳定性、数据质量和模型能力提出了更高要求。