İçeriğe geç

mühendislik

Bir milyon CI işini yürütmeyi öğrendiklerimiz

Kuyruk süresi, önbellek davranışı, doğru boyutlandırma ve yalnızca geniş ölçekte görünen hata modları.

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

Uzun kuyruğu görmek için bir milyon iş yeterlidir. İşte bizi şaşırtan şey şu oldu.

Kuyruk süresi görünmez ve çok büyük

Adım süreleri belirgin bir şekilde gösterilir. Kuyruk süresi hiç gösterilmiyor. Ortalama kuyruk süresinin ortalama derleme süresini aştığı depolar bulduk ve ekip, derlemeyi optimize etmek için dörtte birini harcadı.

Çoğu koşucu her iki yönde de yanlış bedendedir

İşlerin yaklaşık %40'ının ortalama CPU kullanımı %30'un altındaydı; boş çekirdekler için ödeme yapılıyordu. Diğer %12'lik kısım ise tüm süre boyunca %100'de sabitlendi ve kritik yolda kaldı. Müşterilerin çoğunluğu için her iki yönde de doğru boyutlandırma, herhangi bir önbellek değişikliğinden daha değerliydi.

G/Ç beklemesi sessiz katildir

npm 40.000 dosya yazıyor, Kargo kasalarını açıyor, Docker katmanları çıkarıyor - bunların hiçbiri CPU işi değil. Ağa bağlı depolamada bu adımlar baskındır ve her CPU grafiği iyi görünür.

Kesintili testler diğer modellerden daha pahalıdır

Bir tekrarın doğrudan maliyeti açıktır. Dolaylı maliyet (mühendislerin gerçek başarısızlıkları yeniden denemesi, çünkü yeniden denemek alışkanlıktır) çok daha büyüktür ve hiçbir faturada görünmez.

Aracı trafiği yükün şeklini değiştirdi

Yapay zeka kodlama aracılarına sahip depolar, patlamalarda yalnızca insanlara yönelik depolardan birkaç kat daha yüksek itme frekansı gösterir. Eşzamanlılık iptali, bu ekipler için güzel bir optimizasyondan zorlu bir gereksinime dönüştü.

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.