Zum Inhalt springen

Ingenieurwesen

Was wir bei der Leitung von einer Million CI-Jobs gelernt haben

Warteschlangenzeit, Cache-Verhalten, richtige Dimensionierung und die Fehlermodi, die nur im Maßstab auftreten.

{Autor} · {Rolle} · {Datum} · {Minuten} {MinutenLabel}

Eine Million Jobs reichen aus, um den langen Schwanz zu sehen. Hier ist, was uns überrascht hat.

Die Wartezeit ist unsichtbar und enorm

Die Schrittdauer wird deutlich angezeigt. Die Wartezeit wird überhaupt nicht angezeigt. Wir haben Repositorys gefunden, bei denen die mittlere Warteschlangenzeit die mittlere Build-Zeit überstieg und das Team ein Viertel damit verbracht hatte, den Build zu optimieren.

Die meisten Läufer haben in beide Richtungen die falsche Größe

Etwa 40 % der Jobs hatten eine durchschnittliche CPU-Auslastung von weniger als 30 % – sie zahlten für ungenutzte Kerne. Weitere 12 % blieben während ihrer gesamten Dauer bei 100 % und blieben auf dem kritischen Pfad. Für die Mehrheit der Kunden war die richtige Größenanpassung in beide Richtungen mehr wert als jede Caching-Änderung.

I/O-Wartezeit ist der stille Killer

npm schreibt 40.000 Dateien, Cargo entpackt Kisten, Docker extrahiert Layer – nichts davon ist CPU-Arbeit. Bei Network-Attached-Storage dominieren diese Schritte und jedes CPU-Diagramm sieht dabei gut aus.

Flockentests kosten mehr als alle anderen Modelle

Die direkten Kosten einer Wiederholung liegen auf der Hand. Die indirekten Kosten – Ingenieure müssen echte Fehler noch einmal versuchen, weil es die Gewohnheit ist, es noch einmal zu versuchen – sind viel höher und erscheinen auf keiner Rechnung.

Der Agentenverkehr veränderte die Form der Last

Repositories mit KI-Codierungsagenten weisen in Schüben eine um ein Vielfaches höhere Push-Frequenz auf als rein menschliche Repositories. Die Aufhebung der Parallelität hat sich von einer netten Optimierung zu einer schwierigen Anforderung für diese Teams entwickelt.

Ihr nächster Build könnte doppelt so schnell sein — zum halben Preis

Kostenlos starten. Der Wechsel zurück ist dieselbe eine Zeile — auch dieses Diff veröffentlichen wir.