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ı
- Depo başına toplam önbellek boyutunuzu ölçün; çoğu ekip daha önce hiç bakmamıştı
- Yalnızca isabet oranını değil, geri yükleme süresini de ölçün
- Daha büyük koşucuları satın almadan önce önbellek anahtarlarını düzeltin
- 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.