Drei Poolmodelle · Warteschlangen-SLOs · Symptommatrix · Sechsstufiges Runbook · FAQ
Technische Leiter, DevOps-Besitzer und Plattformleiter, die CI-Warteschlangen-SLOs verteidigen müssen Bei der Skalierung wird oft darüber debattiert: dedizierte Knoten im Vergleich zu gemeinsamer Rotation, wann Burst-Kapazität hinzugefügt werden sollte und wie lange p95-Wartezeit ein echtes Kapazitätsdefizit bedeutet. Dieser Artikel nennt Wer steht vor welchem Problem? wenn ein Mac Mesh entfernte Macs verbindet, aber kein gemeinsames Vokabular dafür vorhanden ist Isolation, Leerlaufkosten und Beobachtbarkeit der Warteschlange; dann heißt es das Ergebnis: verwenden drei Poolgrenzen, 13-wöchige rollierende SLOs und eine Symptom-Entscheidungsmatrix So wird das Hinzufügen von Maschinen überprüfbar statt intuitiv. Du bekommst ein Aufschlüsselung versteckter Steuern, Drei-Pool-Tabelle, SLO-Metriken, sechsstufiges Runbook, harte Schwellenwerte und Größenmatrix. Kreuzlesen Sitzschlösser und Mutex, Routing der Zusammenführungswarteschlange, Gesamtbetriebskosten zwischen Kauf und Miete, Gemeinsame Build-Pool-Topologie, Artefakt-Fanout, und privater Mesh-Zugang; Bestellknoten über die Bestellseite und Hilfecenter.
Durch die Verknüpfung entfernter Macs in einem Mesh wird nicht automatisch CI-Kapazität auf Vertragsniveau erzielt. Diese fünf wiederkehrenden Steuern verlangsamen die Lieferung stärker als das Hinzufügen eines weiteren Läufers.
Erfolgsmessung anhand von Maschinenstunden: Betriebszeit zählen und gleichzeitig ignorieren erfolgreiche Builds pro Monat und Warteschlange p95 – dedizierte Knoten bleiben also im Leerlauf, sehen aber „ausreichend“ aus.
Kein Isolations-SLO für gemeinsam genutzte Pools: Abgeleitete Daten, Schlüsselbunde und Anmeldesitzungen wirken sich mandantenübergreifend aus laute Nachbarn statt nachvollziehbarer Fehlkonfigurationen.
Burst ohne Kappen: Elastische Spitzen werden zu unüberprüfbaren Monatsendüberraschungen und teilen Etiketten mit Warteschlange zusammenführen verstärkt den Hunger.
Nicht übereinstimmende Bezeichnungen, die als Mangel getarnt werden: Tiefe Warteschlangen mit einer Läufer-CPU unter 40 % bedeuten in der Regel Job→Läufer-Affinitätsfehler, kein echtes Kapazitätsdefizit.
Überregionales RTT plus Sitzplatzhortung: Netzwerkintensive Schritte wiederholen oberhalb von ca. 150 ms RTT mehr Versuche, während Plätze gebucht bleiben, ohne dass der SLO-Nenner eingegeben werden muss.
Leistungen: Drei-Pool-Wörterbuch, 13-wöchige Warte-/Abschluss-Dashboards, Isolationszähler für gemeinsam genutzte Pools und eine einseitige Burst-Preemption-Richtlinie. Überspringen Sie eines davon und „das Netz skalieren“ sollte kein OKR sein.
Als nächstes: eine Tabelle, in der Dedicated, Shared und Burst nach Mietsemantik, Abrechnungseinheit und Unterbrechbarkeit ausgerichtet sind.
Diese Pools sind keine Marketingetiketten – sie sind es Mietsemantik, Abrechnungseinheiten und Unterbrechbarkeit kombiniert. Drucken Sie die Matrix aus und wählen Sie einen Standardwert für das Quartal aus.
| Pool | Lease & isolation | Cost profile | Am besten für | Hauptrisiko |
|---|---|---|---|---|
| Gewidmet | Single-tenant lease; best cache locality | High idle cost; vorhersehbare Rechnungen | Release-Trainer, Signing-Hosts, Compliance | Fühlt sich an wie CapEx, wenn es nicht ausreichend genutzt wird |
| Shared rotation | Time-sliced multiplex; needs seat locks | Oft die niedrigsten Kosten pro erfolgreichem Build/Monat | Tägliche PRs; Standard für kleine Teams | laute Nachbarn |
| Platzen | Präventiv; kurzer Mietvertrag | Spitzenverzögerung gegen Grenzkosten eingetauscht | Zeitzonen-Batches, Veröffentlichungswochen | Ausreißerscheine ohne Deckel |
Fazit: Jede Jobklasse muss auf die erforderliche Unterbrechbarkeit und wochenlange Cache-Lokalität reagieren. Wenn nicht, geben Sie keine gemeinsame Rotation ein.
Abschnitt drei gleicht Warteschlangen-SLOs mit der Symptommatrix aus, sodass eine Nichtübereinstimmung der Bezeichnungen nicht mit einem Mangel verwechselt wird.
Mindestmetriksatz (13-Wochen-Rolling): Warte SLO (in die Warteschlange stellen→p50/p95/p99 zuweisen), Schließe SLO ab (Standardjob-Wandzeit), Isolations-SLO (Ausfälle des gemeinsam genutzten Pools durch Nachbarn).
| Symptom | Runner-CPU | Wahrscheinliche Ursache | Erste Aktion |
|---|---|---|---|
| p95 >15 Min. warten | >78 % | Reales Kapazitätsdefizit | Fügen Sie einen dedizierten oder geteilten Pool hinzu |
| Lange Wartezeit, nur Spitzenzeiten | <40 % | Label stimmt nicht überein | Audit-Job→Läufer-Affinität |
| Die Warteschlange schwankt stündlich | 55–70 % | Zeitzonen-Batches | Zeitversetzte Jobs oder Burst-Reservierung im Voraus |
| Warnungen zur Festplattenlatenz | irgendein | DerivedData-Abwanderung | Cache-Schlüsselgenerierung |
Nach dem Ausrichten Sitzschlösser, Sie können die Wartezeit aufteilen Echtes Anstehen versus Schleusenhunger.
Frieren Sie das Drei-Pool-Wörterbuch ein: Dokumentenleasing, Abrechnung und Unterbrechbarkeit.
Exportieren Sie eine 13-wöchige Basislinie: segmentieren Sie p95 nach Workflow.
Läuferetiketten binden: Trennen Sie schweren Xcode von leichtem Flusen.
Burst-Preemption schreiben: Rechnungsobergrenze plus Zulassungsliste für unterbrechbare Jobs.
Privates Mesh und Artefakte: siehe Private Mesh-Topologie.
Überprüfungsvorbehalt: Wählen Sie „Dediziert“ oder fahren Sie mit dem Burst fort.
wait_p95_business_hours_minutes complete_p95_release_train_minutes shared_pool_neighbor_fail_rate burst_preempt_count / burst_successful_builds
| Größe × Volatilität | Standardpool | Burst-Rolle | Upgrade-Signal |
|---|---|---|---|
| Kleines Team · geringe Volatilität | Geteilt | Optional | 13-wöchiger p95-Verstoß |
| Kleines Team · hohe Volatilität | Geteilt + Burst | Überlauf der Veröffentlichungswoche | Vorkaufsquote >20 % |
| Plattform · Multiregional | Dediziert + geteilt | Nur unterbrechbare Jobs | Isolations-SLO-Verstoß |
Sobald Pools und SLOs in Repo-Assets leben, Laptops fungieren gleichzeitig als CI oder verbal gemeinsam genutzte Maschinen überleben Audits selten. Für Teams, die iOS CI und Sitzisolation benötigen Cloud-Mac Mini der Vertragsklasse Kapazität, Die Cloud-Miete von VpsMesh Mac Mini ist in der Regel die bessere Lösung. Siehe die Preisseite, Hilfecenter, und Bestellseite.
Die meisten 5- bis 15-köpfigen Teams starten auf Shared mit Sitzkappen und Lock-TTL; Wechseln Sie zu Dedicated für Release-Züge. Siehe die Artikel zur Sitzverriegelung.
Nicht, wenn im Änderungsticket Bezugsobergrenzen und Abrechnungsregeln enthalten sind; Burst absorbiert nur unterbrechbaren Überlauf.
Wenn p95 13 Wochen lang den Schwellenwert überschreitet und die CPU über ~78 % bleibt oder die Isolations-SLO unterbrochen wird, fügen Sie dedizierte Knoten hinzu. Siehe die Preisseite.