4. 容量基线定义
容量基线(Capacity Baseline)是系统在特定负载模型与资源约束下,能够稳定运行并满足服务质量目标(SLO)的性能边界集合。对于 Sigstore 数据镜像冷启动场景,容量基线定义了从镜像拉取、签名验证到数据持久化的全链路吞吐与延迟上限。
4.1 容量基线的核心概念
容量基线不是单一指标,而是由多个维度构成的性能契约。它回答了三个关键问题:
- 能处理多少:最大并发请求数、吞吐量(TPS/QPS)
- 多快处理:P50/P95/P99 延迟、冷启动完成时间
- 资源消耗多少:CPU、内存、网络带宽、磁盘 IO 的稳态使用率
| 维度 | 冷启动场景示例指标 | 基线意义 |
|---|---|---|
| 吞吐量 | 镜像签名验证 TPS | 定义 Sigstore 服务在冷启动阶段的处理上限 |
| 延迟 | P99 镜像拉取延迟 ≤ 5s | 保证用户体验与系统响应性 |
| 资源利用率 | CPU ≤ 70%,内存 ≤ 80% | 预留缓冲,防止资源争抢导致级联故障 |
| 错误率 | 签名验证失败率 ≤ 0.1% | 确保数据完整性与安全合规 |
实践要点:容量基线必须与 SLO 绑定。例如,Sigstore 冷启动场景的 SLO 为“P99 冷启动完成时间 ≤ 30s”,则容量基线中的并发数上限应在此约束下推导得出。
4.2 为何需要基线校准
基线校准(Baseline Calibration)是在受控环境中主动测量并验证容量基线的过程。未经校准的基线存在以下风险:
- 理论偏离实际:硬件差异、网络拓扑、软件版本变化都会导致性能偏移
- 冷启动特殊性:镜像缓存未命中、证书链首次加载、数据库连接池初始化等冷启动行为与稳态差异巨大
- 安全组件开销:Sigstore 的 Fulcio 证书签发、Rekor 日志写入、TUF 元数据验证在冷启动时引入额外延迟
校准的核心价值:将“假设的容量”转化为“可验证的容量”,为容量规划、弹性伸缩、故障注入测试提供可信基准。
以下 SVG 展示了容量基线校准在 Sigstore 冷启动压测流程中的位置:
4.3 基线校准的输入
校准过程需要明确的输入条件,以保证结果的可复现性与可比性:
| 输入类别 | 具体内容 | 来源 |
|---|---|---|
| 环境规格 | CPU 核数/型号、内存大小、磁盘类型(SSD/NVMe)、网络带宽 | 基础设施清单 |
| 软件版本 | Sigstore 组件版本(Fulcio/Rekor/Cosign)、Kubernetes 版本、容器运行时 | 版本管理库 |
| 负载模型 | 并发用户数、请求到达率、镜像大小分布、冷启动比例 | 生产流量分析 |
| SLO 目标 | P99 延迟、吞吐量下限、错误率上限 | 产品/业务需求 |
| 数据镜像特征 | 镜像层数、平均层大小、签名证书链长度 | 镜像仓库元数据 |
常见陷阱:忽略冷启动与稳态的负载差异。例如,生产环境冷启动请求可能集中在镜像拉取阶段,而稳态请求则分散在签名验证与日志查询。校准输入必须区分这两种模式。
4.4 基线校准的输出
校准完成后,输出以下可量化的基线数据,作为后续压测与容量规划的决策依据:
- 吞吐量基线:在满足 SLO 前提下的最大稳定 TPS/QPS
- 延迟基线:P50/P95/P99 延迟的分布曲线
- 资源消耗基线:CPU、内存、磁盘 IO、网络流量的稳态与峰值使用率
- 弹性触发阈值:当某项指标达到基线的 80% 时,触发扩容或限流
- 冷启动时间基线:从镜像拉取到签名验证完成的 P99 耗时
以下 SVG 展示了校准输出的数据结构与关联关系:
4.5 校准流程与验证方法
基线校准遵循测量-分析-调整-确认的迭代流程:
- 环境准备:部署与生产一致的 Sigstore 组件、镜像仓库、Kubernetes 集群
- 预测试:以低并发(如 10 并发)运行 5 分钟,验证链路连通性与数据采集正常
- 阶梯加压:以 20% 增量逐步增加并发,每阶段持续 10 分钟,记录吞吐、延迟、资源
- 拐点识别:当延迟突增或错误率超过 SLO 时,标记为容量拐点
- 基线确认:取拐点前一级的稳定数据作为容量基线
- 重复验证:至少重复 3 次,取中位数或最小值作为最终基线
Sigstore 冷启动校准特例:由于冷启动涉及证书链首次加载与 Rekor 日志初始化,建议在阶梯加压前增加“冷启动预热阶段”——以 1 并发运行 2 分钟,记录首次请求的完整延迟,作为冷启动时间基线的组成部分。
4.6 基线校准的常见误区
| 误区 | 表现 | 正确做法 |
|---|---|---|
| 忽略冷热差异 | 仅使用稳态数据作为基线 | 分别建立冷启动基线、稳态基线、冷热混合基线 |
| 单次测量即定 | 一次压测结果直接作为基线 | 至少 3 次重复,取统计稳定值 |
| 环境不一致 | 校准环境与生产环境硬件/网络不同 | 校准环境必须与生产环境同规格或可等比换算 |
| 忽略安全组件开销 | 未单独测量 Sigstore 签名验证的 CPU 开销 | 使用火焰图或 eBPF 分析安全组件的资源占比 |