DebianでWebサーバーとデータベースを実行するのに最適なファイルシステムはどれですか?
例:debian ext2またはext3では、巨大なサブフォルダーを使用して巨大なフォルダーを管理するには時間がかかりすぎます。管理タスクに時間がかかります。それぞれ30分待たずに巨大なサブフォルダーを削除することはできません。
ExtXファイルシステムでdir_indexが有効になっていますか? (tune2fs -l/dev/XXXを実行して確認します)そうでない場合は、最初のステップとしてそれを有効にしてみてください。
XFSは大規模なディレクトリを適切に処理します。
James で述べたように、ext {2,3}は、適切なフラグを使用して巨大なディレクトリを非常にうまく処理します。しかし....それは時々そのように感じない。
具体的には:
だが...
ls
はデフォルトで、ファイル名をアルファベット順にソートします。そのため、最初にすべてを読み取り、次に並べ替えてから表示する必要があり、数千ファイルのディレクトリで数分かかることがあります。もう1つの一般的な問題は、ワイルドカードマッチングです。これも、一致するサブセットを返すために、既存のすべてのファイル名を読み取る必要があります。結論:正確に指定されたパスのみを使用する場合は、適切なファイルシステムであれば問題ありません。ワイルドカードを使用する場合、またはディレクトリ全体を頻繁に操作する場合(リスト、コピー、または削除)、ファイルシステムは巨大なディレクトリでは遅すぎます。
非常に多くの小さなファイルを含むファイルシステムでは、ReiserFSが長い間王様でした。 Ext3は優れた「オールラウンド」ファイルシステムですが、ReiserFSは小さなファイルの大きなディレクトリで本当に優れています。ごく最近まで、Suseシステムのデフォルトであり、人気のあるオプションです。
まず、ファイルシステムに関するウィキペディアの記事を確認してください: http://en.wikipedia.org/wiki/Comparison_of_file_systems 。
次に、特定のレベルにそれほど多くのファイルがないように階層を再編成できるかどうかを検討します。
第三に、どのようなハードウェアを実行していますか?
第四に、これはおそらく非常に意見指向の質問ですが、私は個人的にext3またはjfsが好きです。
私は常に大きなファイルを処理するシステムでXFSを好みました。大規模で需要の高いシステムを非常にうまく処理します。それは素晴らしい回復ツールを持っています。また、高速のIOレートがあります。他のファイルシステムと同様に、欠点があります。削除を取り消すのは困難です。ディレクトリの作成と削除には、他のファイルシステムよりも時間がかかります。
この種の種類は、「巨大なフォルダ」の詳細、特にそのファイルが多数の小さなファイルであるか物理的に大きなファイルであるか、およびディレクトリのツリーの深さに依存します。
[〜#〜] xfs [〜#〜] は非常に堅牢なファイルシステムであり、大きなファイルを効率的に処理するのに優れています。ほとんどすべてのファイルシステムが苦しんでいますが、RAM)でのデータの積極的なキャッシュと、突然の電源障害(ファイルシステムの破損ではなく、データの損失のみ)によるデータ損失の可能性のために、実稼働環境でノックされることがよくありますこれと同じ問題からある程度です。もう1つの落とし穴は、ディレクトリを追加または削除するときのメタデータ操作がやや遅いことです。ディレクトリツリーが深い場合、これは大きな問題になる可能性がありますが、XFSをテストしてから却下することをお勧めします。
[〜#〜] jfs [〜#〜] は、CPU使用率が低く、さまざまな負荷の下で優れたパフォーマンスを発揮することで知られる堅実なファイルシステムです。 ext3の安定性を強く望んでいるが、extシリーズのファイルシステムのパフォーマンスの癖(非効率的な割り当てと遅いディスクアクセス)に対処できない場合、これはほとんど私の頼りになるファイルシステムです。 XFSと比較した場合、大きなファイルではパフォーマンスがそれほど高くない場合があります。
対象となるワークロードの詳細がなければ、明確な提案をすることはできませんが、広範囲にわたる調整とベンチマークの時間がない場合は、JFSが非常に良い選択になると思います。