İçeriğe geç

kriterler

10 GB önbellek sınırı gerçek CI darboğazıdır

40.000 iş akışı çalıştırması gerçekleştirdik. Önbellek davranışı, duvar saati süresini vCPU sayısından daha iyi tahmin ediyor ve çoğu ekip farkına bile varmadan sınırı aşıyor.

{yazar} · {rol} · {tarih} · {dakika} {dakika Etiketi}

GitHub Actions'da hata, uyarı ve günlük satırı oluşturmayan bir hata modu vardır. Deponuz 10 GB önbelleği aşar, en son kullanılan girişler çıkarılmaya başlar ve o günden itibaren çalıştırmalarınızın bir kısmı sessizce beklemeye başlar.

Kimse bunun için çağrı almıyor. Yapım hala geçiyor. Bu sadece daha yavaştır, sonsuza kadar sürer ve herhangi biri araştırdığında değişim altı aylık olur.

Ne ölçtük

Kaydedilen depolardaki 40.000 çalıştırmada önbellek isabet oranını, geri yükleme süresini, koşucu boyutunu ve toplam duvar saati süresini kaydettik. İki şey öne çıktı.

İkinci bulgu ise daha uygulanabilir olanıdır: kabaca %80'lik önbellek isabet oranının altında, vCPU'ların eklenmesi toplam işlem hattı süresini zar zor ilerletti. Ekipler, soğuk önbellekleri telafi etmek için daha büyük makineler satın alıyordu ve bu da sorunu çözmenin en pahalı yoluna yakındı.

Geri yükleme hızı, isabet oranı kadar önemlidir

Geri yüklemesi dört dakika süren ve üç dakikalık iş tasarrufu sağlayan bir önbellek net kayıptır ve %100 isabet oranı bildirerek size zaman kaybettirir. Tam olarak bu durumda olan birkaç depo gördük.

Bu konuda ne yapmalı

  1. Depo başına toplam önbellek boyutunuzu ölçün; çoğu ekip daha önce hiç bakmamıştı
  2. Yalnızca isabet oranını değil, geri yükleme süresini de ölçün
  3. Daha büyük koşucuları satın almadan önce önbellek anahtarlarını düzeltin
  4. Yapısal olarak 10 GB'ın üzerindeyseniz sorun sınırdadır ve hiçbir anahtar bu sorunu çözemez

Bir sonraki build'iniz yarı fiyata iki kat hızlı olabilir

Ücretsiz başlayın. Ayrılmak da aynı tek satır ve o diff'i de yayımlıyoruz.