三池边界 · 队列 SLO · 症状决策矩阵 · 六步 Runbook · FAQ
小团队 Tech Lead、DevOps 与要为 CI 队列签可辩护 SLO 的基建负责人常在扩容时争论:该买独占节点还是共享轮换?高峰要不要 Burst?p95 排队多久算真缺容量?本文先界定谁遇到什么问题:Mac Mesh 把多台远程 Mac 连成资源网,却在隔离、空闲成本与队列可观测之间缺少统一语言;再给出结论:用 Dedicated / Shared / Burst 三池边界 + 13 周滚动 SLO + 症状决策矩阵把加机从直觉变成可验收动作;结构上交付隐性税拆解、三池对照表、SLO 指标集、六步 Runbook、硬阈值与规模矩阵。席位锁见 并发席位与互斥;Merge Queue 见 决策矩阵;买租见 TCO;Runner 拓扑见 共享构建池编排;产物见 rsync 与对象存储;私网见 Tailscale Runbook;节点见 订购页 与 帮助中心。
把多台远程 Mac 连成 mesh 并不等于自动获得可签合同的 CI 容量。2026 年工单里反复出现的五条隐性税,往往比再挂一台 Runner 更拖慢交付。
用机器小时衡量成功:只统计开机时长,却忽略成功构建数 / 月与队列 p95,导致独占节点长期空转仍被当成容量充足。
共享池无隔离 SLO:DerivedData、钥匙串与登录会话在轮换租户间串味,表现为吵闹邻居而非可定位的配置错误。
Burst 无预占与账单上限:高峰弹性变成不可审计的月底惊喜,且与 Merge Queue 共用标签时放大饥饿。
标签错配伪装成缺机:队列很深但 Runner CPU 低于 40%,根因是 Job→Runner 亲和错误,而非真容量赤字。
跨区域 RTT 与占席叠加:网络型步骤在 RTT >150ms 时放大重试,席位被长占却未计入 SLO 分母。
交付物应是:三池定义表、13 周 p95 等待/完成时间面板、共享池隔离事件计数、Burst 预占与抢占规则一页纸。缺任一,就不应在 OKR 里写扩容 mesh。
下一节用对照表把 Dedicated、Shared 与 Burst 的租约语义、计费单位与可中断性放到同一页评审。
三池不是营销名词,而是租约语义 + 计费单位 + 可中断性的组合。请把矩阵打印在评审页上:只允许勾选一格作为本季度默认。
| 池型 | 租约与隔离 | 成本特征 | 最适合 | 主要风险 |
|---|---|---|---|---|
| Dedicated 独占 | 单租户租约;缓存局部性最好 | 空闲小时成本高;账单可预测 | 发布列车、签名机、合规隔离 | 低利用时 CapEx 感强 |
| Shared 轮换 | 时间片 multiplex;需席位锁 | 成功构建/月成本通常最低 | 日常 PR、中小团队默认 | 吵闹邻居 |
| Burst 突发 | 可抢占;短租约 | 尖峰延迟换成边际成本 | 时区批量、发布周 | 无上限时账单失控 |
选型底线:每一类 Job 必须能回答可中断吗与需要几周的缓存局部性;答不出就不要进共享轮换。
第三节把队列 SLO 与症状矩阵对齐,避免把标签错配当成缺机。
最小指标集(13 周滚动):等待 SLO(enqueue→assign 的 p50/p95/p99)、完成 SLO(标准 Job 墙钟时间)、隔离 SLO(共享池因邻居导致的失败率)。
| 症状 | Runner CPU | 可能根因 | 优先动作 |
|---|---|---|---|
| p95 等待 >15 分钟且持续 | >78% | 真容量赤字 | 加 Dedicated 或拆池 |
| 高等待仅尖峰 | <40% | 标签错配 | 审计 Job→Runner |
| 队列按小时振荡 | 55–70% | 时区批量 | 时间移位或 Burst 预占 |
| 磁盘延迟告警 | 任意 | DerivedData 搅动 | 缓存键世代 |
与 席位锁 对齐后,才能把等待拆成真排队 vs 锁饥饿。
冻结三池字典:写明租约、计费与可中断性。
导出 13 周基线:按 workflow 分段 p95。
绑定 Runner 标签:重 Xcode 与轻 lint 分池。
写 Burst 预占:账单封顶 + 可中断 Job 白名单。
私网与产物路径:见 私网拓扑。
复盘抢占:决定 Dedicated 或继续 Burst。
wait_p95_business_hours_minutes complete_p95_release_train_minutes shared_pool_neighbor_fail_rate burst_preempt_count / burst_successful_builds
| 规模 × 波动 | 默认池 | Burst 角色 | 升级信号 |
|---|---|---|---|
| 小团队 · 低波动 | Shared | 可选 | 13 周 p95 破线 |
| 小团队 · 高波动 | Shared + Burst | 发布周溢出 | 抢占率 >20% |
| 平台组 · 多区 | Dedicated + Shared | 仅可中断 Job | 隔离 SLO 破线 |
把三池与 SLO 写进仓库资产后,个人笔记本兼 CI 或口头约定的共享机在审计场景往往缺少可辩护变更单。对于 iOS CI 与席位隔离要落在可合同化云端 Mac Mini的团队,VpsMesh 的 Mac Mini 云端租赁通常是更优解;价格见 价格页,接入见 帮助中心,扩容见 订购页。