Wiki
Depolama & GC
Files sekmesinin Storage görünümü: depo bazında depolama panosu (boyut, tekilleştirme, büyüme) ve garbage collection, eski revizyonların, öksüz chunks'ların, phantom files'ların temizlenmesi.
Giriş
Storage görünümü bir deponun (sunucuda sürüm denetimli bir proje) disk kullanımını gösterir ve eski revizyonları ve işe yaramaz hale gelen verileri temizleyerek yer geri kazanmak için bir garbage collection (GC) aracı sunar.
Erişim ve roller
Files sekmesi ve onun Storage görünümü, süper yönetici ve yönettiği depolar üzerindeki bir project_admin için erişilebilir, GC çalıştırmak dahil. Sunucu genel istatistikleri ve lisans ise süper yöneticiye ayrılmıştır (panelin başka bir yerinde).
Metrikler
Storage görünümü üç kartla açılır: Total Size, Files / Revisions ve Dedup Ratio. Ardından Growth (Last 30 Days) histogramı, sonra Largest Files tablosu gelir. Sol üstteki yenileme düğmesi tümünü yeniden hesaplar.
Her sayının anlamı:
- Total Size: dosyaların toplam boyutu; hemen altında diskte gerçekten kaplanan sıkıştırılmış boyut.
- Files / Revisions: dosya sayısı ve altında revizyon ve chunks sayısı.
- Dedup Ratio (%): chunks paylaşımı ve sıkıştırma sayesinde tasarruf edilen alan payı.
- Growth (Last 30 Days): gün gün birikimli boyut. Bir çubuğun üzerine gelerek tarihini, boyutunu ve revizyon sayısını okuyun.
- Largest Files: en büyük 20 dosya, boyutları ve revizyon sayılarıyla.
Bu rakamlar şişen bir depoyu tespit etmeye yardımcı olur: sık sık yeniden commit edilen büyük bir ikili dosya veya son 30 gündeki anormal bir büyüme.
Garbage collection
Garbage Collection bloğu Storage görünümünün altında yer alır. Eski geçmişi iki parametreye göre temizler:
| Parametre | Varsayılan | Rol |
|---|---|---|
| Retention (days) | 90 | Bir revizyonun her zaman korunduğu yaş eşiği. |
| Min revisions to keep | 5 | Yaşları ne olursa olsun her dosya için korunan son revizyon sayısı. |
1. İki parametreyi ayarlayın
Düğmelerin solundaki iki alana Retention (days) ve Min revisions to keep girin. Yukarıdaki tablonun varsayılan değerleriyle, 90 ve 5 ile gelirler. Hatırlatma: bir revizyon yalnızca her iki koşul da sağlandığında temizlenir.
2. Preview ile bir önizleme başlatın
Preview, hiçbir şey silmeden temizlemeyi benzetir. Düğmelerin altında sarı bir bant belirir: «Preview: X revisions would be deleted across Y files, Z phantom file entries would be removed». Büyüklük mertebesini kontrol etme anıdır; sayı sizi şaşırtırsa çalıştırmak yerine saklama süresini yükseltin.
3. Run GC ile çalıştırın
Kırmızı Run GC düğmesi temizlemeyi çalıştırır. Yeşil bitiş bandı «GC complete: X revisions deleted, Y orphan chunks cleaned, Z phantom file entries removed» duyurur, üstteki metrikler yeniden yüklenir ve çalıştırma denetim günlüğüne kaydedilir.
GC neyi siler
- Eski revizyonlar: Retention (days) değerinden daha eski VE dosya başına en yeni Min revisions to keep sayısının ötesindekiler. Ardından, başka hiçbir revizyon tarafından artık referans verilmiyorsa onların chunks'ları.
- Öksüz chunks: temizlemeden sonra hiçbir revizyonun artık kullanmadığı veri blokları.
- Phantom files: aslında hiç commit edilmemiş dosya satırları (geçersiz yol veya askıda kalmış bir giriş), sabit 7 günlük pencerenin ötesinde (yapılandırılamaz).
Silinen veya obliterate edilen dosyaların silme işaretçileri (tombstones) korunur: bunlar sync sırasında silmeyi istemcilere yaymak için kullanılır ve bu yüzden kaybolmamalıdır.
Sık karşılaşılan tuzaklar
Preview çok az şey bildiriyor
Depo yeniyse veya geçmiş saklama penceresine sığıyorsa normaldir. GC yalnızca hem yeterince eski hem de dosya başına son N'nin ötesindeki revizyonlara dokunur.
Preview ve Run aynı sayaçları göstermiyor
Preview, silinecek chunks ve revizyon-chunk bağlantılarının tam sayısını öngöremez: yalnızca revizyonları, taranan dosyaları ve hayalet girişleri bildirir. Öksüz chunks yalnızca Run sırasında görünür.
Yer geri kazanmak için saklamayı düşürmek
Mümkün, ancak geçmişi kaybedersiniz. Çok geriye gidebilmenin gerektiği bir projede rahat bir saklama süresi tutun ve bunun yerine büyük dosyalar üzerinde çalışın (en büyük dosyalar listesine ve yeniden üretilebilir ürünleri izlemekten kaçınmak için .uversionignore dosyasına bakın).