読み取りアクセス用に1,000万個を超えるファイルを含むフォルダーを持つext4ファイルシステムのmkfs
およびmount
に適切なオプションは何ですか?
これまでのところ:
umount /media/dirsizetest
mkfs.ext4 -L DIRSIZETEST -E lazy_itable_init=1 -E lazy_journal_init=1 -m 1 /dev/sda1
mount -t ext4 -o nodiratime /dev/sda1 /media/dirsizetest
いくつかのコンテキストが整っています。私は、数百万の小さなファイルで満たされた単一のフォルダーで異なるファイルシステムがどのように機能するかを確認することを含む、少し(大丈夫ですが)クレイジーな実験を行っています。最終的には、1TBのドライブをいっぱいにしてこれを実行します(これはクレイジーな実験だと言いました!)。
アクセスパッテンは次のようなものです。
Recreate the volume from scratch (using mkfs) and mount it.
Create a sub-directory, fill it with N files in sequence (named 1...N)
(where N can be up to 2^63)
Read all files in order
Read all files in random order
Print how it takes
私の自然の生息地はWindows NTFSの世界であり、mount
およびmkfs
へのオプションの数は少々困難です。だから私は足で私のパフォーマンスを撃つ可能性が高いオプションについてのガイダンスを探しています。
私は64ビットのUbuntu 12.04デスクトップ環境で作業しています。
これらの指示は安全ではないため、予防策なしに運用環境で使用しないでください。
たとえば、バッテリーでバックアップされたRAIDカードは、リスクを減らすのに役立ちます。
自己責任で使用する
テスト環境としてそれが好きなら、ext4オプションをお勧めします
noatime,data=writeback,barrier=0,nobh,errors=remount-ro
この
mkfs.ext4の場合、オプションしか見つかりませんでした
dir_index
Use hashed b-trees to speed up lookups in large directories.
便利な
私が行ったいくつかの調査では、次のリンクが見つかりました。 Chris Perrinの回答は、オプションの短いリストを提供しています。これらは追加の参考資料を提供するはずです。