Sistem file Linux mana yang akan Anda pilih untuk kecepatan terbaik dalam skenario berikut:
- seratus juta file
- ~ Ukuran file 2k rata-rata
- > 95% akses baca
- akses yang cukup acak
- konkurensi tinggi (> 100 proses)
Catatan: File disimpan dalam hierarki pohon yang dalam untuk menghindari direktori besar. Setiap direktori daun berisi sekitar seribu file.
Bagaimana Anda membandingkannya?
linux
filesystems
benchmark
manfaat
sumber
sumber
Jawaban:
Inilah beberapa hasil yang membandingkan semua FSe linux utama dengan bonnie ++ yang dapat Anda gunakan sebagai titik awal.
Dalam hal pencarian acak, Reiser menang, diikuti oleh EXT4, diikuti oleh JFS. Saya tidak yakin apakah ini akan berkorelasi dengan pencarian direktori, tetapi sepertinya itu akan menjadi indikator. Anda harus melakukan tes sendiri untuk itu secara khusus. EXT2 mengalahkan segalanya untuk waktu pembuatan file, kemungkinan karena kurangnya jurnal, EXT4 mengalahkan segalanya kecuali Reiser yang mungkin tidak ingin Anda gunakan karena memiliki status reiser saat ini.
Anda mungkin ingin melihat drive yang mendukung NCQ, dan pastikan instalasi Anda sudah siap untuk menggunakannya. Di bawah pencarian yang berat itu harus memberikan dorongan kecepatan.
Terakhir, pastikan mesin Anda memiliki satu ton ram. Karena file-file tersebut tidak sering diperbarui, linux pada akhirnya akan menyinggahi sebagian besar dari file-file itu untuk ram jika ada ruang kosong. Jika pola penggunaan Anda benar, ini akan memberi Anda dorongan kecepatan besar.
sumber
Saya setuju dengan sebagian besar apa yang dikatakan Andrew, kecuali bahwa saya akan merekomendasikan Reiser4 atau yang lebih lama (tapi lebih baik didukung) ReiserFS . Seperti yang ditunjukkan oleh tes tersebut (dan dokumentasi untuk ReiserFS), tes ini dirancang untuk situasi yang Anda tanyakan (sejumlah besar file kecil atau direktori). Saya telah menggunakan ReiserFS di masa lalu dengan Gentoo dan Ubuntu tanpa masalah.
Mengenai status Hans Reiser, saya tidak melihatnya sebagai masalah dengan kode atau stabilitas Sistem File itu sendiri. Reiser4 bahkan disponsori oleh DARPA dan Linspire, jadi sementara saya setuju bahwa pengembangan lebih lanjut dari Sistem File Reiser tidak ditentukan, saya tidak berpikir bahwa harus menjadi faktor penentu apakah seseorang harus menggunakannya atau tidak.
sumber
Saya tahu ini bukan jawaban langsung untuk pertanyaan Anda, tetapi dalam kasus ini saya pikir database mungkin lebih cocok untuk meng-host ini. File kecil dapat disimpan dalam format biner dalam tabel database dan diambil pada saat wil. Perangkat lunak yang menggunakan file-file ini harus dapat mendukung ini ...
sumber
Seseorang yang berada di Unix StackExchange membuat patokan (dengan sumber) untuk menguji skenario ini saja:
T: Apa sistem file Linux berperforma paling tinggi untuk menyimpan banyak file kecil (HDD, bukan SSD)?
Kinerja baca terbaik tampaknya berasal dari ReiserFS.
sumber
Dalam pengalaman saya, ext2 berhembus ext4 keluar dari air untuk file kecil. Jika Anda tidak peduli dengan integritas menulis, itu bagus. Sebagai contoh, subversi membuat banyak dan banyak file kecil, yang ext4 dan filesystem lain (XFS) tersedak (menjalankan tugas cron yang mensinkronisasi data ke ext4 dari ext2 setiap setengah jam atau lebih untuk menyelesaikan masalah.)
Menjalankan perintah-perintah ini membuat ext2 lebih cepat (walaupun sebagian besar dari opsi-opsi ini membuat sistem file tidak stabil setelah crash kecuali Anda menjalankan sinkronisasi sebelum crash). Perintah-perintah ini hampir tidak berpengaruh pada ext4 dengan file kecil.
sumber
Saya kira ext3 (atau ext4), mungkin JFS akan menjadi solusi yang bagus. Saya akan berhati-hati dengan ext4 dan btrfs (filesystem yang rumit - bersiaplah dengan cadangan jika Anda ingin menggunakan hal-hal terbaru dan terbaru).
Ada juga berbagai parameter yang dapat Anda atur selama waktu mkfs untuk menyesuaikan sistem file sesuai keinginan Anda.
Saya pasti akan merekomendasikan melawan XFS. Bukan karena itu adalah sistem file yang buruk, tetapi penciptaan / penghapusan adalah operasi yang mahal.
Untuk menghindari masalah dengan pencarian direktori, gunakan skema penamaan yang cerdas, misalnya:
atau skema serupa yang lebih rumit. Ini akan mempercepat pencarian direktori Anda dan karenanya kecepatan akses keseluruhan. (Ini trik unix lama, kembali dari V7 saya pikir)
sumber
Kebanyakan FS akan tersedak dengan lebih dari 65 ribu file dalam sebuah dir, saya pikir itu masih berlaku untuk ext4. Sistem file Reiser tidak memiliki batas itu (orang-orang di mp3.com dibayar untuk memastikan hal itu). Tidak yakin tentang hal lain, tapi itu adalah salah satu skenario penggunaan yang dibuat ReiserFS.
sumber
ls
atau menyelesaikan tab itu bekerja cepat. Mungkin karena indeks.