Unix klasörünün alabileceği maksimum dosya sayısı nedir?
Dosya sayısı ile aynı olacağını düşünüyorum.
Unix klasörünün alabileceği maksimum dosya sayısı nedir?
Dosya sayısı ile aynı olacağını düşünüyorum.
Yanıtlar:
Dosya sistemine göre değişir, http://en.wikipedia.org/wiki/Comparison_of_file_systems
Mevcut tüm Unix dosya sistemlerinde bir dizin neredeyse sınırsız sayıda dosya tutabilir . Halbuki "sınırsız" disk alanı ve inotlarla sınırlıdır - ilk önce ne olursa olsun.
Daha eski dosya sistemi tasarımlarında ( ext2 , UFS , HFS + ) bir dizinde çok sayıda dosyanız varsa işler yavaşlama eğilimindedir. Genellikle işler yaklaşık 10.000 dosyaya acı vermeye başlar. Daha yeni dosya sistemleri ( ReiserFS , XFS , ZFS , UFS2 ) ile , genel performans darboğazlarını görmeden bir dizinde milyonlarca dosyaya sahip olabilirsiniz.
Ancak bir dizinde çok fazla dosya olması iyi test edilmemiştir ve başarısız olan birçok araç vardır. Örneğin, periyodik sistem bakım komut dosyaları üzerinde engel oluşturabilir.
Mutlu bir şekilde UFS2 üzerinde milyonlarca dosya içeren bir dizin kullandım ve dizini silmek istedikçe hiçbir sorun görmedim - bu birkaç GÜN aldı.
Dosya sisteminin kaç tane düğümle oluşturulduğuna bağlıdır . yürütme
df -i
size ücretsiz düğüm sayısını verecektir. Bu, bir dosya sisteminin ve dolayısıyla bir dizinin sahip olabileceği dosya sayısının pratik sınırıdır.
Sanırım birçok dosyayı tek bir yerde saklamayı düşünüyorsun, değil mi?
Modern Unix dosya sistemlerinin çoğu , bir dizine çok sayıda dosya koyabilir , ancak aşağıdaki yollar, dosyaları listeleme vb. Gibi işlemler, dosyalar listesinde doğrusal bir arama içerir ve liste çok büyürse yavaşlar.
Birkaç bin kişinin çoğu pratik kullanım için çok fazla olduğunu duyduğumu hatırlıyorum. Tipik çözüm, gruplandırmayı ayırmaktır. Yani,
/some/path/to/dir/a/
/some/path/to/dir/b/
...
/some/path/to/dir/z/
ve dosyalarınızı kendi karma değerlerine göre uygun alt dizinde saklayın basename
. Uygun bir karma seçin, ilk karakter basit durumlar için yapabilir.
Cristian Ciupitu o yorumlarında yazıyor XFS ve muhtemelen diğer çok yeni dosya sistemleri kullanmak log(N)
bu kısıt büyük ölçüde bu yüzden, tutma rehberi içeriğine aranabilir yapıları ıslah .
Bıraktığınız yorumdan, FS'nizin kaç dosya / klasör barındırabileceğini gerçekten umursamadığınızı düşünüyorum.
Muhtemelen ModRewrite kullanmayı ve site.com/username adresini site.com/?user= veya benzeri bir şeye yeniden yazmayı ve tüm verilerinizi bir veritabanında depolamayı düşünmelisiniz. Kullanıcı başına bir klasör oluşturmak genellikle gerekli değildir (ve iyi bir fikir değildir).
Bununla birlikte, her dosya sisteminin sınırları vardır ve df
sisteminizin her bölümünde kaç tane inode bulunduğunu söyleyebilir.