3 つのプール モデル · キュー SLO · 症状マトリックス · 6 ステップのランブック · FAQ
CI キュー SLO を守る必要がある技術リーダー、DevOps オーナー、プラットフォーム リーダー スケーリング中に次のような議論がよく行われます。 専用ノードと共有ローテーション、バースト容量をいつ追加するか、および p95 の待機時間は実際の容量不足を意味します。 この記事の名前は 誰がどの問題に直面しているか Mac メッシュがリモート Mac をリンクしているが、そのための共有語彙が不足している場合 分離、アイドルコスト、キューの可観測性;次に述べます 結果: 使用します 3 つのプール境界、13 週間のローリング SLO、および症状決定マトリックス そのため、マシンの追加は直感的ではなく、監査可能になります。あなたは、 非表示の税金の内訳、3 つのプール テーブル、SLO メトリック、6 ステップのランブック、ハードしきい値、およびサイジング マトリックス。クロスリード シートロックとミューテックス、 マージキュールーティング、 購入とレンタルの TCO、 共有ビルドプールトポロジ、 アーティファクトのファンアウト、そして プライベートメッシュアクセス;経由でノードを注文します 注文ページ そして ヘルプセンター。
リモート Mac をメッシュにリンクしても、契約グレードの CI 容量が自動的に得られるわけではありません。これら 5 つの定期税により、ランナーを追加するよりも配送が遅くなります。
マシン時間による成功の測定: 稼働時間を無視してカウントする 月あたりの成功したビルド数 そして、p95 をキューに入れるので、専用ノードはアイドル状態にありますが、「十分」であるように見えます。
共有プールには分離 SLO がありません: DerivedData、キーチェーン、ログイン セッションはテナント間で影響を受けます。 騒々しい隣人 追跡可能な構成ミスの代わりに。
キャップなしでバースト: 弾性ピークは監査不能な月末のサプライズとなり、ラベルを共有する マージキュー 飢餓を増幅させます。
不足を装ったラベルの不一致: ランナー CPU が 40% 未満の深いキューは、通常、真の容量不足ではなく、ジョブ→ランナー アフィニティ エラーを意味します。
クロスリージョン RTT と座席の買いだめ: ネットワーク負荷の高いステップは、SLO 分母に入らずに座席が予約されたままである間に、RTT が約 150 ミリ秒を超えて再試行します。
成果物: 3 つのプールのディクショナリ、13 週間の待機/完了ダッシュボード、共有プール分離カウンター、および 1 ページのバースト プリエンプション ポリシー。これらのいずれかをスキップして、「メッシュのスケール変更」を OKR にするべきではありません。
次は、専用、共有、およびバーストをリースのセマンティクス、請求単位、および中断可能性ごとに並べた表です。
これらのプールはマーケティング ラベルではありません。 リースのセマンティクス、請求単位、および中断可能性 組み合わせた。マトリックスを印刷し、四半期のデフォルトを 1 つ選択します。
| プール | リースと分離 | コストプロファイル | こんな方に最適 | 主なリスク |
|---|---|---|---|---|
| 専用 | シングルテナントのリース。最適なキャッシュの局所性 | アイドルコストが高い。予測可能な請求額 | リリーストレイン、署名ホスト、コンプライアンス | 十分に活用されていないと設備投資がかかるように感じる |
| 共有ローテーション | タイムスライスマルチプレックス。シートロックが必要です | 多くの場合、成功したビルドあたりの月額コストが最も低くなります | 毎日の PR。小規模チームのデフォルト | 騒々しい隣人 |
| バースト | プリエンプティブル;ショートリース | ピーク遅延は限界費用と引き換えに | タイムゾーンのバッチ、リリース週 | キャップのない紙幣の暴走 |
結論: すべてのジョブ クラスは、中断可能性と必要な数週間のキャッシュの局所性に対応する必要があります。そうでない場合は、共有ローテーションを入力しないでください。
セクション 3 では、ラベルの不一致が不足と誤認されないように、キューの SLO を症状マトリックスと調整します。
最小指標セット (13 週間ローリング): 待機 SLO (エンキュー→p50/p95/p99を割り当てる)、 完全な SLO (標準的なジョブ所要時間)、 分離 SLO (近隣からの共有プール障害)。
| 症状 | ランナーCPU | 考えられる原因 | 最初のアクション |
|---|---|---|---|
| p95 15 分以上の待機が継続 | >78% | 実質生産能力不足 | 専用プールまたは分割プールを追加する |
| 待ち時間が長く、ピークのみ | <40% | ラベルの不一致 | 監査ジョブ→ランナーのアフィニティ |
| キューは時間ごとに変動します | 55~70% | タイムゾーンバッチ | タイムシフトジョブまたはバースト事前予約 |
| ディスク遅延アラート | どれでも | 派生データのチャーン | キャッシュキーの生成 |
位置合わせ後 シートロック、待機を次のように分割できます。 実際のキューイングとロックの枯渇。
3 つのプールの辞書をフリーズします。 ドキュメントのリース、請求、中断可能性。
13 週間のベースラインをエクスポートします。 ワークフローごとに p95 をセグメント化します。
バインド ランナー ラベル: 重い Xcode を軽い lint から分割します。
書き込みバーストプリエンプション: 請求上限と中断可能なジョブ許可リスト。
プライベートメッシュとアーティファクト: 参照してください プライベートメッシュトポロジ。
プリエンプションの確認: [専用] または [バースト継続] を選択します。
wait_p95_business_hours_minutes complete_p95_release_train_minutes shared_pool_neighbor_fail_rate burst_preempt_count / burst_successful_builds
| サイズ×ボラティリティ | デフォルトのプール | バースト役 | アップグレードシグナル |
|---|---|---|---|
| 小規模チーム・低ボラティリティ | 共有 | オプション | 13週間のp95違反 |
| 小規模チーム・高いボラティリティ | 共有 + バースト | リリース週のオーバーフロー | 先取り率 >20% |
| プラットフォーム・マルチリージョン | 専用 + 共有 | 中断可能なジョブのみ | 分離 SLO 違反 |
プールと SLO がリポジトリ資産内に存在すると、 CI または言語共有マシンとしても機能するラップトップ 監査を生き残ることはほとんどありません。 iOS CI と座席分離が必要なチーム向け 契約グレードのクラウド Mac Mini 容量、 通常は、VpsMesh Mac Mini クラウド レンタルの方が適しています。。を参照してください。 価格ページ、 ヘルプセンター、そして 注文ページ。