Zum Inhalt springen

Leitfäden

So beschleunigen Sie GitHub Actions

Ihre Pipeline braucht länger, als irgendjemand warten möchte, und es ist nicht klar, wo die Zeit vergeht.

8 Min. Lesezeit

Ihre Pipeline braucht länger, als irgendjemand warten möchte, und es ist nicht klar, wo die Zeit vergeht.

Symptome

  • Entwickler wechseln während des Wartens den Kontext
  • Die Pipeline-Dauer verlängert sich vierteljährlich
  • Niemand kann sagen, welcher Schritt am langsamsten ist

Warum es passiert

Die Arbeitszeit verteilt sich auf die Warteschlangenzeit, den Runner-Start, die Cache-Wiederherstellung, die Abhängigkeitsinstallation und den Build selbst. Teams optimieren normalerweise das letzte, weil es das einzige ist, das sie sehen können.

So beheben Sie das Problem

  1. Messen Sie zuerst: Teilen Sie die Warteschlangenzeit, die Einrichtung, die Cache-Wiederherstellung und die Schrittzeit auf, bevor Sie etwas ändern
  2. Aktivieren Sie die Parallelitätsstornierung, damit ersetzte Pushs keine Kapazität mehr verbrauchen
  3. Korrigieren Sie die Cache-Trefferrate, bevor Sie größere Läufer kaufen – das ist normalerweise der größere Hebel
  4. Läufer in der richtigen Größe im Vergleich zur gemessenen CPU-Auslastung, nach oben und unten
  5. Parallelisieren Sie den kritischen Pfad: Teilen Sie lange Testsuiten auf, teilen Sie Flusen in einen eigenen Job auf
  6. Wechseln Sie zu Läufern mit lokalem NVMe, wenn die E/A-Wartezeit hoch ist

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.