Berapa jumlah maksimal file yang dapat disimpan oleh folder Unix?
Saya pikir ini akan sama dengan jumlah file.
Berapa jumlah maksimal file yang dapat disimpan oleh folder Unix?
Saya pikir ini akan sama dengan jumlah file.
Jawaban:
Bervariasi berdasarkan sistem file, http://en.wikipedia.org/wiki/Comparison_of_file_systems
Pada semua sistem file Unix saat ini direktori dapat menampung jumlah file yang hampir tidak terbatas . Sedangkan "tidak terbatas" dibatasi oleh ruang disk dan inode - apa pun yang habis terlebih dahulu.
Dengan desain sistem file yang lebih lama ( ext2 , UFS , HFS + ) banyak hal cenderung menjadi lambat jika Anda memiliki banyak file dalam direktori. Biasanya hal-hal mulai menyakitkan sekitar 10.000 file. Dengan sistem file yang lebih baru ( ReiserFS , XFS , ZFS , UFS2 ) Anda dapat memiliki jutaan file dalam direktori tanpa melihat hambatan kinerja umum.
Tetapi memiliki begitu banyak file dalam direktori tidak diuji dengan baik dan ada banyak alat yang gagal itu. Sebagai contoh, skrip pemeliharaan sistem berkala mungkin muntah di dalamnya.
Saya dengan senang hati menggunakan direktori dengan beberapa juta file di UFS2 dan tidak melihat masalah sampai saya ingin menghapus direktori - yang membutuhkan beberapa HARI.
Tergantung berapa banyak inode yang diciptakan dengan sistem file. Mengeksekusi
df -i
akan memberi Anda jumlah inode gratis. Ini adalah batas praktis dari berapa banyak file sistem file dan karenanya sebuah direktori dapat menampung.
Saya menganggap Anda berpikir untuk menyimpan banyak file di satu tempat, bukan?
Sebagian besar sistem file Unix modern dapat meletakkan banyak file dalam satu direktori, tetapi operasi seperti mengikuti jalur, mendaftarkan file, dll. Melibatkan pencarian linear melalui daftar file dan menjadi lambat jika daftar tumbuh terlalu besar.
Saya ingat pernah mendengar bahwa beberapa ribu terlalu banyak untuk penggunaan praktis. Solusi biasanya adalah memecah pengelompokan. Itu adalah,
/some/path/to/dir/a/
/some/path/to/dir/b/
...
/some/path/to/dir/z/
dan menyimpan file Anda di sub-direktori yang sesuai sesuai hash mereka basename
. Pilih hash yang mudah digunakan, karakter pertama dapat dilakukan untuk kasus sederhana.
Cristian Ciupitu menulis dalam komentarnya bahwa XFS , dan mungkin sistem file yang sangat baru lainnya, menggunakan log(N)
struktur yang dapat dicari untuk menyimpan konten direktori, sehingga kendala ini sangat diperbaiki .
Dari komentar yang Anda tinggalkan, saya pikir Anda tidak terlalu peduli tentang berapa banyak file / folder yang dapat di-host oleh FS Anda.
Anda mungkin harus mempertimbangkan untuk menggunakan ModRewrite dan menulis ulang situs.com/username ke situs.com/?user= atau sejenisnya dan menyimpan semua data Anda dalam database. Membuat satu folder per pengguna pada umumnya tidak perlu (dan bukan ide yang baik).
Yang mengatakan, setiap filesystem memiliki batas, dan df
dapat memberi tahu Anda berapa banyak inode yang tersedia pada setiap partisi sistem Anda.