Zum Inhalt springen

Maßstäbe

Das 10-GB-Cache-Limit ist der eigentliche CI-Engpass

Wir haben 40.000 Workflow-Durchläufe instrumentiert. Das Cache-Verhalten prognostizierte die Arbeitszeit besser als die vCPU-Anzahl, und die meisten Teams überschreiten die Obergrenze, ohne es jemals zu merken.

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

Es gibt einen Fehlermodus in GitHub Actions, der keinen Fehler, keine Warnung und keine Protokollzeile erzeugt. Ihr Repository überschreitet 10 GB Cache, Einträge, die am längsten nicht verwendet wurden, werden entfernt, und von diesem Tag an wird ein Teil Ihrer Läufe stillschweigend inaktiv.

Dafür wird niemand angerufen. Der Build läuft immer noch. Es ist einfach langsamer, für immer, und wenn jemand nachforscht, ist die Veränderung schon sechs Monate her.

Was wir gemessen haben

Bei 40.000 Läufen auf Repositorys, die sich dafür entschieden haben, haben wir die Cache-Trefferrate, die Wiederherstellungsdauer, die Läufergröße und die Gesamtzeit aufgezeichnet. Zwei Dinge fielen auf.

Das zweite Ergebnis ist das umsetzbarere: Unter etwa 80 % der Cache-Trefferquote hat das Hinzufügen von vCPUs die gesamte Pipeline-Zeit kaum verschoben. Die Teams kauften größere Maschinen, um Cold-Caches auszugleichen, was nahezu die teuerste Lösung dieses Problems darstellt.

Die Wiederherstellungsgeschwindigkeit ist ebenso wichtig wie die Trefferquote

Ein Cache, dessen Wiederherstellung vier Minuten dauert und der drei Minuten Arbeit spart, stellt einen Nettoverlust dar und meldet eine Trefferquote von 100 %, während Sie Zeit verlieren. Wir haben mehrere Repositories in genau diesem Zustand gesehen.

Was tun dagegen?

  1. Messen Sie Ihre gesamte Cache-Größe pro Repository – die meisten Teams haben noch nie nachgeschaut
  2. Messen Sie die Wiederherstellungsdauer, nicht nur die Trefferquote
  3. Korrigieren Sie die Cache-Schlüssel, bevor Sie größere Läufer kaufen
  4. Wenn Sie strukturell über 10 GB verfügen, ist die Obergrenze das Problem und kein Schlüssel kann das Problem beheben

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.