SLO 设计与错误预算决策

共 22 题
#

1. SLO 设计方法论中从用户旅程出发定义 SLI(可用性/延迟/吞吐量/质量)、错误预算计算与多窗口燃烧率

A 错误预算等于 1 减去 SLO 目标值,代表系统允许失效的时间比例 ✓ 正确答案
B 内部指标(如 CPU 使用率)应作为 SLI 首选,因为它们最稳定
C 错误预算一旦耗尽就必须立即发布新版本
D 燃烧率告警只用一个长时间窗口即可,窗口越多越冗余
#

2. SLO 评审与业务方对齐流程

A 评审的目标是让业务方理解可靠性目标对应成本,并作为契约签订 ✓ 正确答案
B SLO 只需由研发团队单方面确定,无需业务参与
C SLO 一旦确定就永不修改
D 评审只需要关注延迟,其他指标无关紧要
#

3. SLO-as-code 工具链(OpenSLO/Sloth/Nobl9/Grafana SLO)

A OpenSLO 是商业收费的 SLO 平台
B Sloth 从 YAML 生成 Prometheus 录制规则与告警规则,适合 Prometheus 生态 ✓ 正确答案
C Grafana SLO 只能用于 AWS 云
D SLO-as-code 无法实现版本管理
#

4. 基于延迟分位数(P50/P90/P95/P99)的 SLI 如何设定与解读?

A P50 代表所有请求中最快的请求延迟
B 分位数越高表示系统越慢,因此应选择尽可能低的分位数
C 平均延迟比 P99 更能反映长尾体验
D P99 与 P50 差距大通常说明存在长尾问题,需要重点排查 ✓ 正确答案
#

5. 基于请求成功率的 SLO 如何设计,即成功口径、统计窗口与目标值如何确定?

A 成功口径只按 HTTP 状态码判断,4xx 也计入失败
B 超时请求即使返回 200 也应视为失败,因为用户已放弃等待 ✓ 正确答案
C 滚动窗口与日历窗口没有任何区别
D 目标值可以直接拍脑袋定为 99.999% 以确保高可用
#

6. 多地域部署下,如何为每个 region 独立定义与监控 SLO?

A 所有 region 应共用同一个 SLO 定义,无需区分
B region 标签对监控没有帮助
C 全局 SLO 只能用最差 region 计算,不能加权
D 应为每个 region 独立定义 SLI/SLO 并打 region 标签,避免故障被全局平均掩盖 ✓ 正确答案
#

7. 多窗口多燃烧率告警的落地实操

A 只用短窗口即可,无需长窗口
B 燃烧率 14.4x 表示在 99.9% SLO 下约 2 天(50 小时)内耗尽错误预算 ✓ 正确答案
C 燃烧率越高越不紧急
D 所有燃烧率告警都应立即 page 值班
#

8. 如何针对不同客户等级(tier)设计差异化的 SLO 与错误预算?

A 所有客户必须共享完全相同的 SLO 目标
B 差异化 SLO 意味着可以完全忽视低价值客户
C 高价值客户(Tier1)应设计更高的可用性目标与更灵敏的告警 ✓ 正确答案
D 客户分级只按合同金额,不需要考虑业务关键度
#

9. 机器学习在线服务的 SLI 如何定义,即模型质量、推理延迟与吞吐指标如何纳入 SLO?

A ML 服务只需关注推理延迟,不必关注模型质量
B ML 服务不存在吞吐指标
C 模型质量可用点击率、转化率等代理指标衡量,并监控数据漂移 ✓ 正确答案
D 推理失败不应计入可用性
#

10. 正确性(correctness)类 SLI 如何度量,即数据一致性、计算正确率如何转化为 SLO?

A 正确性 SLI 无法度量,因为错误没有参照物
B 可用数据对账差异率、抽样校验正确率等作为正确性 SLI ✓ 正确答案
C 正确性错误通常会体现在延迟指标上,无需单独监控
D 数据一致性不属于正确性范畴
#

11. 移动端应用的 SLI 如何定义,即启动耗时、崩溃率与关键接口成功率如何选取?

A 移动端 SLI 只需服务端指标,无需客户端埋点
B 冷启动耗时、崩溃率与关键接口成功率是移动端核心 SLI ✓ 正确答案
C 崩溃率应直接用崩溃次数,不需要归一化
D 不同机型与网络环境对移动端指标没有影响
#

12. SLI 指标选择中请求成功率与延迟分位数的权衡

A 成功率比延迟更重要,应只关注成功率
B 延迟分位数与成功率永远不会同时出问题
C 交互式场景更敏感延迟,应组合可用性与延迟双 SLO ✓ 正确答案
D 批量场景也更重视延迟而非成功率
#

13. SLO dashboard 应展示的关键信息中达成率、错误预算消耗与燃烧率如何可视化?

A 只需展示当前 SLI 值,无需看错误预算
B 应展示达成率、错误预算剩余、消耗曲线与燃烧率等关键信息 ✓ 正确答案
C 燃烧率对 SLO 看板没有意义
D 错误预算剩余百分比与时间窗口无关
#

14. SLO scorecard(记分卡)如何设计,即如何汇总各服务达成情况用于评估与汇报?

A scorecard 只列服务名,不列达成状态
B scorecard 只能由工程师手动填写
C scorecard 按服务/团队汇总各 SLO 达成情况,用颜色编码便于汇报 ✓ 正确答案
D 所有服务应使用完全相同的权重,无需区分
#

15. SLO 目标(如 99.9%)如何转化为告警阈值与错误预算消耗的预警机制?

A 告警阈值与错误预算消耗无关
B 99.9% 目标对应错误率阈值 0.1%,燃烧率是其倍数 ✓ 正确答案
C 燃烧率 1x 表示错误率已达 100%
D 错误预算消耗预警只在耗尽后触发
#

16. SLO 错误预算耗尽时的发布冻结与例外审批机制

A 预算耗尽时应冻结所有发布,包括紧急修复
B 错误预算耗尽可触发高风险发布冻结,并通过例外审批放行紧急需求 ✓ 正确答案
C 例外审批无需任何批准人
D 发布冻结与错误预算无关
#

17. 多服务级联依赖下 SLO 如何聚合与分解,全局 SLO 如何避免"和稀泥"?

A 全局 SLO 应直接用全局平均,无需关注单服务
B 串联可用性应近似相乘,端点可用性需高于各子服务 ✓ 正确答案
C 端到端延迟在串联链路上应相乘
D 级联场景不需要识别关键路径
#

18. 如何基于错误预算计算服务的可靠性得分(reliability score)?

A 可靠性得分 = 100 × (1 - 错误预算累计消耗比例) ✓ 正确答案
B 可靠性得分与错误预算无关
C 可靠性得分只能反映瞬时错误率
D 可靠性得分不能用于发布门禁
#

19. 如何用错误预算消耗评估部署质量,即发布引发的错误预算损失如何量化并改进 MTTR?

A 部署质量与错误预算消耗无关
B 发布引发的预算损失 = 错误率 × 影响时长,可通过灰度与快速回滚降低 ✓ 正确答案
C 发布后无需关注错误预算变化
D MTTR 只能衡量服务端,不能衡量发布影响
#

20. 错误预算如何作为发布门禁(release gate),即高消耗或超预算时如何阻断发布?

A 错误预算消耗率超过阈值时应在 CI/CD 流水线中阻断发布 ✓ 正确答案
B 发布门禁应忽略错误预算,只看测试结果
C 所有发布都必须无条件通过门禁
D 门禁只需检查瞬时错误率,无需看消耗率
#

21. AI 系统的 SLO 如何定义(幻觉率/安全率/端到端延迟)并纳入错误预算?

A 幻觉率、安全率等质量指标需通过评测回路度量,并纳入独立错误预算 ✓ 正确答案
B AI 系统只需关注延迟,无需关注幻觉率
C 安全率无法作为 SLI
D 端到端延迟与推理模型无关
#

22. 如何利用错误预算做可靠性验证,即持续跟踪达成情况并验证改进措施是否生效?

A 错误预算无法验证改进措施是否生效
B 错误预算只用于考核,不用于验证
C 验证改进无需控制变量
D 可在改进前记录预算消耗基线,改进后对比消耗是否下降来验证效果 ✓ 正确答案