mühendislik
Kısıtlamayan bir CI önbelleği oluşturma
1 GB/s hızında önbellek geri yüklemelerini nasıl sunuyoruz ve bant genişliğinin neden kapasiteden daha önemli olduğu.
{yazar} · {rol} · {tarih} · {dakika} {dakika Etiketi}
Önbellek tartışmaları kapasiteye (10 GB sınırı, çıkarma politikası, isabet oranı) odaklanır. Uygulamada bant genişliği, insanların hissettiği ve nadiren adlandırdığı kısıtlamadır.
Neden geri yükleme hızı hakim?
Önbellek girişi yalnızca onu geri yüklemenin yeniden oluşturmaktan daha hızlı olması durumunda yardımcı olur. Yeterince düşük bir aktarım hızında, her önbellek net bir kayıp haline gelir ve her zaman mükemmel bir isabet oranı rapor eder.
Ne inşa ettik
- NVMe'de koşucu havuzuyla aynı kullanılabilirlik bölgesinde depolanan önbellek
- İçerik adresli parçalar, böylece değişmeyen parçalar yeniden aktarılmaz
- zstd sıkıştırması, oran yerine sıkıştırmayı açma hızı için seçilmiştir
- Tek bir akış yerine bağlantıyı doyuran paralel yığın getirme
Sonuç kabaca 1 GB/sn sürekli geri yüklemedir. Bu, hangi şeylerin önbelleğe alınmaya değer olduğunu değiştirir; bu hızda, 6 GB'lik bir araç zinciri dizinini önbelleğe almak, marjinal olmaktan ziyade açıkça doğru hale gelir.
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.