あなたが説明する操作は、理想的なファイルシステムが何を実行する必要があるかについていくつかの重要なヒントを与えます:
- ビルドプロセス中の非常にランダムなr / wアクセス。
- 多くのファイルが短時間で更新されるため、高速なメタデータ操作が重要です。
- 非常にファイルが重いファイルシステムで、多くの小さなファイルを効率的に処理します。
- まれで不明瞭なエッジケースでデータ損失のリスクを負わないよう十分成熟しています。
BtrfsとExt4は上記の3つであり、4番目は疑わしいものです。Ext4はおそらくそのために十分成熟していますが、btrfsはまだベイク処理が行われていません。noatime
はメタデータ操作をより効率的にするのに役立ちますが、新しいファイルの束を作成しているときでも、メタデータ操作を非常に高速にする必要があります。
そのとき、基盤となるストレージが要因になり始めます。XFSメタデータ操作は数ブロックに集中する傾向があり、操作に負担をかける可能性があります。Extスタイルのファイルシステムは、メタデータをそれが記述しているデータに近づけることについてより優れています。ただし、ストレージが十分に抽象的である(VPSで実行されている、またはSANに接続されている)場合は、それほど重要ではありません。
各ファイルシステムには、さらに数パーセントのポイントを調べるために実行できる高速化はほとんどありません。基盤となるストレージのパフォーマンスは、表示されるゲインに大きく影響します。
ストレージ用語では、ストレージに十分なI / O操作オーバーヘッドがある場合、ファイルシステムの非効率性はそれほど問題になり始めます。ビルドパーティションにSSDを使用する場合、ファイルシステムの選択は、操作しやすいものほど重要ではありません。