~によるとこのブログ、
XFSは、小さなファイルを処理するときに遅い古いファイルシステムです。
この記事を読んだとき、私の最初の印象はXFSが悪いということでした。
しかし、誰かがXFSがディスクパフォーマンスを向上させ、今回のベンチマーク無意味。
それで、これについてもう少し調べてみたところ、次のことがわかりました。
ウィキペディア説明する
XFSは、Silicon Graphics、Inc(SGI)が1993年に作成した高性能64ビットジャーナルファイルシステムです。バージョン 5.3 以降、SGI IRIX オペレーティングシステムの基本ファイルシステムです。 XFSは2001年にLinuxカーネルに移植されました。 2014年6月現在、ほとんどのLinuxディストリビューションはXFSをサポートし、一部はそれをデフォルトのファイルシステムとして使用しています。
ウィキペディアまた…
XFSのメタデータ操作は歴史的に他のファイルシステムよりも遅かったため、多数のファイル削除などの操作のパフォーマンスが低下しました。
そしてオタクする方法説明する
XFSは大容量ファイルを処理するときには優れていますが、多くの小さなファイルを処理すると他のファイルシステムよりもパフォーマンスが低下します。主に大容量ファイルを処理する必要がある特定の種類のサーバーに役立ちます。
これらの事実とベンチマークは正しいですか?
答え1
以前のXFS Q / Aでこのページに言及しました。Red Hat Enterprise Linuxファイルシステムを選択する方法。パフォーマンスに関する質問が解決されると思います:-)。これは公式のRed Hatナレッジベースからのものです。ページ全体をコピーするのは不適切です。味は次のとおりです。
これを説明するもう1つの方法は、Ext4ファイルシステムのバリエーションが、I / O機能が制限されたシステムでより良いパフォーマンスを発揮する傾向があることです。 Ext3とExt4は、限られた帯域幅(< 200 MB / s)と最大約1,000 IOPSの機能でより良いパフォーマンスを発揮します。より高い機能を持つすべての場合、XFSはより速くなる傾向があります。 XFS は、Ext3 および Ext4 に比べてメタデータの操作ごとに約 2 倍の CPU を消費するため、並行性の少ない CPU 集約的なワークロードがある場合、Ext3 または Ext4 のバリエーションが速くなります。通常、アプリケーションが単一の読み取り/書き込みスレッドと小さなファイルを使用している場合はExt3またはExt4が優れていますが、アプリケーションが複数の読み取り/書き込みスレッドと大きなファイルを使用している場合は、XFSのパフォーマンスが向上します。
以前の回答
これはこの回答の以前のバージョンです。私は文脈を提供し、上記のソースを確認するためにそれを修正して拡張しました。必ず読まなければならないわけではありません。
XFSを避けることは意味がありません古い。 XFSとext2 / ext3 / ext4の間には、サイズと機能を含む多くの類似点があります。ポジティブ人生。
XFSはRedHat Enterprise Linuxで主にサポートされるファイルシステムです。時間の経過とともに、特にRHELでXFSを開発するために多くの努力が行われてきました。 XFSの新機能と高度な機能の数ははるかに多いです:-).たとえば、「reflink」のサポートをご覧ください。
「Desktop Linux」インストール(最新のノートブックにも対応)では、通常はext4を使用しています。 ext4は非常にフレンドリーでよく知られた環境を提供します。
一般的なデスクトップでは、XFSの利点が必ずしも適用されるわけではありません。 ext4には、パフォーマンス上の利点を含む利点があります。上記の数字を額面のまま受け入れると、XFSが高速で最新のノートブックで利点を持つことができることを示唆しています!
現在、ext4管理者はGoogleに採用されています。 ext4はGoogleのAndroidオペレーティングシステムで使用されます。したがって、ext4は、ハードウェアのパフォーマンスが低下する多くの携帯電話やタブレットで使用されています。[1][2]
また、ファイルシステムのパーティションを縮小できるので、ext4が便利だと思います。これは、単一のディスク上のさまざまなインストールに使用されるスペースを管理したい場合に便利です。 XFSは縮小をサポートせず、拡張のみをサポートします。 (原則として、この問題はLVMの「シンプロビジョニング」を使用して解決できます。XFSとシンプロビジョニングを使用するStratis Storageを参照してください。おそらく将来的にはStratisがリリースされ、すべてのディストリビューションがStratisにインストールされる可能性があります。 )
存在する一部この文脈では、ext4のデザインは時代遅れで混乱していると説明されています。 XFSはここで明確に管理されています。Linuxファイルシステムでの単純なファイルコピー(または書き込み)により10秒以上の待ち時間が発生する。アップデート:このリンクには、Linuxカーネルv5.3用にext4を改善するために送信されたパッチが記載されています。今後も大幅な改善があります。
XFS「小さなファイルパフォーマンス」
他のファイルシステムと比較して、多くの小さなファイルを処理する際のXFSのパフォーマンスは、最初は大きな弱点でした。時間の経過とともに改善が行われた。
注目すべき大きな変化の1つは、2010〜2012年頃に録音が遅れたことです。つまり、この機能の前に小さなファイルのパフォーマンス比較を見ると、関連性はなくなります。遅延ロギング設計はext3ロギングに基づいています :-)。 しかし、異なる状況では、2つの間にパフォーマンスの違いがあります。 望むより:https://lwn.net/Articles/476263/
(以前は明らかに、「バージョン2のログ形式が2002年に追加され、メタデータのパフォーマンスを向上させるのに役立ちました。」しかし、それはおそらく質問に答えるのに役立ちません:-)。
それ以来、いくつかの追加の変更がありました。たとえば、Red Hat ドキュメントには最近の変更が反映されない場合があります。私は次の文を見つけました。
[...]「老化」ファイルシステムでより良いパフォーマンスを得るために、無料のinode B +ツリー(finobt)とファイルタイプがデフォルトでディレクトリに保存されます(ftype = 1)。これにより、大規模なパフォーマンスを持つ一部のシステムのパフォーマンスが大幅に向上します。 (通常小さい)ファイルの場合)ファイル。
- 何かについてのコメントを提示大容量の小さなファイル(SSDではなくHDD)を保存するための最高のパフォーマンスのLinuxファイルシステムは何ですか?